Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Проверка на "взломность"
Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008
Помог: 0 раз(а)
Здравствуйте! Я написал скрипт авторизации, который проверяет логин и пароль по базе.\
Но я новичок в этом деле и хотелось бы как-то (где-то) проверить скрипт, так сказать, на "взломность". Подскажите, пожалуйста, к кому можно обратиться? Или может есть желающие потестить?
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Itan пишет:
А magic_quot экранирует их ведь - это спасает от инъекций?
Магический кавычки - устаревшие с PHP5.3, а в PHP5.4, на сколько помню, будут удалены.
Itan пишет:
а как вам алгоритм подбора соли для пароля по логину?
Я не понял, чего там происходит, в этой функции А сама идея - имеет место на существование, даже при украденной базе хэшей и логинов перебирать придётся брутфорсом каждый логин.
Itan пишет:
Ну а в целом как, нормально?
Пора вам в сторону ООП двигаться - функции, объявленные в функциях - не есть хорошо.
А в целом, я ожидал худшее.
----- PostgreSQL DBA
Stierus
Отправлено: 26 Октября, 2011 - 20:32:09
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
if(check_cookie()){//Коннект к базе и сравниваем базу с куками
$row= base_query("SELECT login_string FROM isse_logins WHERE id = '".$_COOKIE['id']."'");
А функция check_cookie() проверяет куку: isset и is_numeric. Максимум, что можно сделать - подставить чужой id (тогда не совпадут id - hash) либо подставить десятичное число: 0.2 - но тоже будет ошибка потому что в базе такой записи нет - значит нет такого юзера, значит тоже выводится "Неверно" красными буквами.
Почему is_numeric? Потому что у меня is_int что-то не работает, как я предполагал.
Вернет явное десятичное число.
И даже если и вернет ноль, то запрос в базу вернет пустой результат.
А вам его всеравно делать. (Добавление)
Черт, что-то не совсем то я написал... Да ладно. Как вы это будете использовать - ваше дело.
Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008
Помог: 0 раз(а)
О, класс. Спасибо. Люблю, чтобы все коротко и понятно в исходниках было (Добавление)
Хотя нет, в моем случае не подойдет, потому что там, в условии, проверяется не только COOKIE['id'] но и COOKIE['control'] и результатом функции может быть либо 1 либо 0.
Но я ваш способ запомнил, обязательно его использую где-нибудь.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.