Безопасность для параноиков модуль авторизации через Ulogin
Сегодня искал что-то в интернете и совершенно случайно на провебере набрел на комментарии по поводу модуля Улогин для ДЛЕ, у нас многие любят обосрать ну так на всякий случай и там нашлись не равнодушные людивообщем чел пишет
Хороший модуль однозначно, особенно понравились эти строчки:
$s = file_get_contents(‘http://ulogin.ru/token.php?token=’ . $_POST['token'] . ‘&host=’ . $_SERVER['HTTP_HOST']);
$dle_login_hash = md5( strtolower( $_SERVER['HTTP_HOST'] . $member_id['name'] . sha1($password) . $config['key'] . date( «Ymd» ) ) );
Вижу демо у человека сайта уже не работает, уже вскрыли)))
set_cookie( «dle_user_id», $member_id['user_id'], 365 );
set_cookie( «dle_password», $_POST['login_password'], 365 );А говорят еще каким образом шелл на сайт выливают )))
Самое интересное что все эти строчки самого движка ДЛЕ кроме первой которая взята с Улогина незнаю конечно на что там автор коммента намекал на отсутствие филтрации $_POST['token'] может быть ну дак этот параметр в базу не идет а идет прямиком у uligin.ru если уж кого и ломанут таким способом дак улогин конечно может я ошибаюсь пусть меня поправят знающие можно конечно еще сделать такую проверочку для параноиков
1 2 3 | /*---------------------- специально для параноиков 1 ----------------------------- */ if( preg_match("/[\||\'|\|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/",$_POST['token'])) { header('Location: ?do=register'); die(); } /*-------------------------------------------------------------------------------*/ |
и вставить ее сразу после if(isset($_POST['token'])){ , но я ХЗ незнаю реально нужно это или нет
про остальные строки вообще ничего не скажу потому как не вижу смысла это всеравно что обсуждать что ДЛЕ дырявый или нет