DLE - быстрый способ удалить всех пользователей сайта, очистка dle_users

DLE - быстрый способ удалить всех пользователей сайта, очистка dle_users


Кто еще не научился защищаться от ботов рано или поздно заметит в статистике одно число - количество аккаунтов в базе данных. В свое время на этом сайте оно составляло 77 тысяч

Так же эти боты, помимо текстовой записи в таблице, которая, казалось бы весит менее байта, но в количестве 77 тысяч это уже ощутимый вес. А так же они загружают и аватары. Все это превращается в сотни мегабайт ненужной информации.

Быстро удалить 77 тысяч пользователей по 50 штук через админку мы не сможем. Все что нужно, так это зайти в phpMyAdmin и подправить запрос в MySQL базу данных.


1. В базе данных выбрать таблицу dle_users

DLE - быстрый способ удалить всех пользователей сайта, очистка dle_users


И мы попадем на страницу, где в форме таблицы выведены все наши пользователи. Здесь их можно редактировать минуя админку

2. Экспортировать таблицу в SQL файл

DLE - быстрый способ удалить всех пользователей сайта, очистка dle_users


Вверху нажать экспорт. Убедиться, что мы скачиваем именно sql и нажать ок. Теперь можно приступать к редактированию файла у себя на компьютере

3. Очистить список пользователей

DLE - быстрый способ удалить всех пользователей сайта, очистка dle_users


На скриншоте выше код, который создает таблицу, куда будут заноситься все пользователи. Мы его не трогаем и смотрим ниже
INSERT INTO `dle_users` (`email`, `password`, `name`, `user_id`, `news_num`, `comm_num`, `user_group`, `lastdate`, `reg_date`, `banned`, `allow_mail`, `info`, `signature`, `foto`, `fullname`, `land`, `icq`, `favorites`, `pm_all`, `pm_unread`, `time_limit`, `xfields`, `allowed_ip`, `hash`, `logged_ip`, `restricted`, `restricted_days`, `restricted_date`) 

VALUES ('artemmian.ru@gmail.com', 'd3332a6c938f3fcc52356f91d278c5df', 'artemmian', 1, 507, 1, 1, '1413275302', '1321187899', '', 1, '', '', 'foto_1.png', '', '', '', '', 0, 0, '', '', '', '', '81.22.134.219', 0, 0, '');


INSERT INTO `dle_users` это форма, по которой данные заносятся в базу данных. Все, что находиться в () мы тоже не трогаем.

А вот VALUES это уже строка пользователя в таблице. Данные так же находятся в скобках, которые между собой разделены запятой. Оставляем одну такую строку, но очень важно последняя запись заканчивается "точкой с запятой" и это я указал в примере выше!

Короче говоря смысл примерно такой/ В коде ниже четыре пользователя, строки разделены запятой, последняя - точкой с запятой!
VALUES ('параметр', 'параметр'),('параметр', 'параметр'),('параметр', 'параметр'),('параметр', 'параметр');


4. Делаем запрос

DROP TABLE IF EXISTS `dle_users`;
CREATE TABLE IF NOT EXISTS `dle_users` (
`email` varchar(50) NOT NULL default '',
`password` varchar(32) NOT NULL default '',
`name` varchar(40) NOT NULL default '',
`user_id` mediumint(8) NOT NULL auto_increment,
`news_num` smallint(6) NOT NULL default '0',
`comm_num` mediumint(8) NOT NULL default '0',
`user_group` smallint(5) NOT NULL default '4',
`lastdate` varchar(20) default NULL,
`reg_date` varchar(20) default NULL,
`banned` varchar(5) NOT NULL default '',
`allow_mail` tinyint(1) NOT NULL default '1',
`info` text NOT NULL,
`signature` text NOT NULL,
`foto` varchar(30) NOT NULL default '',
`fullname` varchar(100) NOT NULL default '',
`land` varchar(100) NOT NULL default '',
`icq` varchar(20) NOT NULL default '',
`favorites` text NOT NULL,
`pm_all` smallint(5) NOT NULL default '0',
`pm_unread` smallint(5) NOT NULL default '0',
`time_limit` varchar(20) NOT NULL default '',
`xfields` text NOT NULL,
`allowed_ip` varchar(255) NOT NULL default '',
`hash` varchar(32) NOT NULL default '',
`logged_ip` varchar(16) NOT NULL default '',
`restricted` tinyint(1) NOT NULL default '0',
`restricted_days` smallint(4) NOT NULL default '0',
`restricted_date` varchar(15) NOT NULL default '',
PRIMARY KEY (`user_id`),
UNIQUE KEY `name` (`name`),
UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=11044 ;


INSERT INTO `dle_users` (`email`, `password`, `name`, `user_id`, `news_num`, `comm_num`, `user_group`, `lastdate`, `reg_date`, `banned`, `allow_mail`, `info`, `signature`, `foto`, `fullname`, `land`, `icq`, `favorites`, `pm_all`, `pm_unread`, `time_limit`, `xfields`, `allowed_ip`, `hash`, `logged_ip`, `restricted`, `restricted_days`, `restricted_date`)
VALUES
('admin@gmail.com', 'd9b1d7db4cd6e70935368a1efb10e377', 'admin', 1, 507, 1, 1, '1413275302', '1321187899', '', 1, '', '', 'foto_1.png', '', '', '', '', 0, 0, '', '', '', '', '81.22.134.219', 0, 0, '');



Чуть выше мы делали экспорт, а теперь там же, только вкладка SQL. По примеру чуть выше скопировать код выше, вставить туда и нажать ОК. На сайте будет всего один пользователь с логином admin и паролем 123.

Перед началом запроса добаить строку, которая вначале удалит существующую таблицу, а на ее место добавит новую
DROP TABLE IF EXISTS `dle_users`;




Но код выше лучше не копировать, а подготовить самостоятельно из-за разных версия движка и возможных модулей, которые вносят записи в таблицу пользователей. Запрос актуален для версии 10.1.

Вот видео версия текста выше:





Понравилась статья "DLE - быстрый способ удалить всех пользователей сайта, очистка dle_users" из раздела Веб разработка » Решения для DLE? Подпишись на RSS. Будь в курсе всего происходящего на сайте
Комментариев: 0 •  Просмотров: 3280   Дата: 14-окт-2014, 13:16

Похожие статьи

Комментарии

b
i
u
s
|
left
center
right
|
emo
color
|
hide
quote
translit

© 2010-2017 devarts.pro v 7.0: flexyflat tpl Designed by devarts
Карта сайта HTMLКарта сайта XMLПравообладателям
Яндекс.Метрика