kphp Posted October 6, 2019 Report Share Posted October 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 Quote Link to comment Share on other sites More sharing options...
KirKMS Posted October 6, 2019 Report Share Posted October 6, 2019 case "moroz": То что поразило меня Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.