kphp Опубликовано 6 октября, 2019 Жалоба Поделиться Опубликовано 6 октября, 2019 1 заходим в system открыть mod.php и падключить туда //Если страница заморожена case "moroz": include ENGINE_DIR.'/modules/moroz.php'; break; 2 вэтайже папке открыть файл init.php ищем if($user_info['user_ban_date'] >= $server_time OR $user_info['user_ban_date'] == '0' OR $blockip) include ENGINE_DIR . '/modules/profile_ban.php'; ниже вставить if($user_info['moroz'] == '1') include ENGINE_DIR . '/modules/moroz.php'; 3 заходим в system\modules открыть файл login.php ищем //Если есть данные сесии if(isset($_SESSION['user_id']) > 0){ $logged = true; $logged_user_id = intval($_SESSION['user_id']); $user_info = $db->super_query("SELECT user_id, user_email, user_group, user_friends_demands, user_pm_num, user_support, user_lastupdate, user_photo, user_msg_type, user_delet, user_ban_date, user_new_mark_photos, user_search_pref, user_status, user_last_visit, invties_pub_num FROM `".PREFIX."_users` WHERE user_id = '".$logged_user_id."'"); в этат запрос вставить moroz, ищем //Если есть данные о COOKIE то проверяем } elseif(isset($_COOKIE['user_id']) > 0 AND $_COOKIE['password'] AND $_COOKIE['hid']){ $cookie_user_id = intval($_COOKIE['user_id']); $user_info = $db->super_query("SELECT user_id, user_email, user_group, user_password, user_hid, user_friends_demands, user_pm_num, user_support, user_lastupdate, user_photo, user_msg_type, user_delet, user_ban_date, user_new_mark_photos, user_search_pref, user_status, user_last_visit, invties_pub_num, moroz FROM `".PREFIX."_users` WHERE user_id = '".$cookie_user_id."'"); взапрос вставить moroz, ищем //Приготавливаем данные $email = textFilter(strip_tags($_POST['email'])); $password = md5(md5(GetVar($_POST['password']))); ниже вставить //Если у пользователя больше 10 неверных попыток ввести пароль за пол часа то морозим его страницу $check_err_count = $db->super_query("SELECT err_count, err_time FROM `".PREFIX."_users` WHERE user_email = '".$email."'"); $err_count = $check_err_count['err_count']; $err_time = $check_err_count['err_time']; if ($err_count > 10){ $db->query("UPDATE `".PREFIX."_users` SET moroz = '1' WHERE user_email = '".$email."'"); } ищем if($config['temp'] != 'mobile') header('Location: /u'.$check_user['user_id']); else header('Location: /'); } else{ ниже вставить // Обновляем время последней ошибки входа $db->query("UPDATE `".PREFIX."_users` SET err_time = '".$server_time."' WHERE user_email = '".$email."'"); // Если время с последней ошибки меньше 30 минут то... if($err_time > (time()-1800)){ switch($err_count) { case 0; $db->query("UPDATE `".PREFIX."_users` SET err_count = '1' WHERE user_email = '".$email."'"); break; case 1; $db->query("UPDATE `".PREFIX."_users` SET err_count = '2' WHERE user_email = '".$email."'"); break; case 2; $db->query("UPDATE `".PREFIX."_users` SET err_count = '3' WHERE user_email = '".$email."'"); break; case 3; $db->query("UPDATE `".PREFIX."_users` SET err_count = '4' WHERE user_email = '".$email."'"); break; case 4; $db->query("UPDATE `".PREFIX."_users` SET err_count = '5' WHERE user_email = '".$email."'"); break; case 5; $db->query("UPDATE `".PREFIX."_users` SET err_count = '6' WHERE user_email = '".$email."'"); break; case 6; $db->query("UPDATE `".PREFIX."_users` SET err_count = '7' WHERE user_email = '".$email."'"); break; case 7; $db->query("UPDATE `".PREFIX."_users` SET err_count = '8' WHERE user_email = '".$email."'"); break; case 8; $db->query("UPDATE `".PREFIX."_users` SET err_count = '9' WHERE user_email = '".$email."'"); break; case 9; $db->query("UPDATE `".PREFIX."_users` SET err_count = '10' WHERE user_email = '".$email."'"); break; case 10; $db->query("UPDATE `".PREFIX."_users` SET err_count = '11' WHERE user_email = '".$email."'"); break; default: msgbox('', $lang['not_loggin2'].'<br /><br /><a href="/restore" onClick="Page.Go(this.href); return false">Забыли пароль?</a>', 'info_red'); } } if($err_count <= 10){ 4 заходим в базу даных во вкладку vii_users саздаем там 3 строчки moroz int 11 err_count int 11 err_time varchar 320 тамже в базу делаем sql запрос CREATE TABLE IF NOT EXISTS `vii_moroz` ( `id` int(11) NOT NULL AUTO_INCREMENT, `hash` varchar(32) NOT NULL, `ip` varchar(32) NOT NULL, `email` varchar(320) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; 5 заходим в system\modules открыть там файл profile.php ищем //Проверяем на наличие кеша, если нету то выводи из БД и создаём его if(!$row){ $row = $db->super_query("SELECT user_id, user_real, user_search_pref, user_country_city_name, user_birthday, user_xfields, user_xfields_all, user_city, user_country, user_photo, user_friends_num, user_notes_num, user_subscriptions_num, user_wall_num, user_albums_num, user_last_visit, user_videos_num, user_status, user_privacy, user_sp, user_sex, user_gifts, user_public_num, user_audio, user_delet, user_ban_date, xfields, user_logged_mobile , user_cover, user_cover_pos, user_rating FROM `".PREFIX."_users` WHERE user_id = '{$id}'"); вэтат запрос вставить moroz, 6 заходим в lang\Russian открыть файл site.lang и вставить туда 'not_loggin2' => 'И опять пароль неправельный... На этот раз страница заморожена..', 'no_moroz' => 'Зачем вам эта ссылка?', автор Orlov22region [Модуль] заморозка страницы.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
KirKMS Опубликовано 6 октября, 2019 Жалоба Поделиться Опубликовано 6 октября, 2019 case "moroz": То что поразило меня Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения