Jump to content

[Модуль] заморозка страницы ка вк


Recommended Posts

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

180943s53b3vmhws3irfoh.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...