Вот мне почкму то кажется, что очень не безопасно я сделал.
Спустя 1 минута, 10 секунд (7.04.2009 - 11:13) Joker написал(а):
Код в студию
Спустя 17 минут, 27 секунд (7.04.2009 - 11:30) ADiel написал(а):
Этот файл проверяет в системе юзер или нет. Выводит соотвествующую форму
PHP |
<? |
А вот этот читает базу данных
PHP |
function read_users ($login) { |
ну а в функции логина просто обычнвм условием сравниваются md5 хеши. если правильно, чел входит
Спустя 5 часов, 5 минут, 23 секунды (7.04.2009 - 16:36) Alchemist написал(а):
ты прав, очень небезопасно сделал
Спустя 45 минут, 51 секунда (7.04.2009 - 17:21) FatCat написал(а):
Цитата (ADiel @ 7.04.2009 - 11:30) |
$login = $_POST['login']; |
Цитата (ADiel @ 7.04.2009 - 11:30) |
$query="select * from $sql_tables[users] where (login='$login')"; |
Первый раз логином ввести одиночную кавычку, увидеть сообщение об ошибке, а в нем имя базы и имя таблицы.
Затем в поле логина ввести "qwerty'; свой sql-запрос к таблице;", и этот запрос будет выполнен.
Спустя 2 минуты, 39 секунд (7.04.2009 - 17:24) waldicom написал(а):
Цитата (FatCat @ 7.04.2009 - 15:21) | ||||
Первый раз логином ввести одиночную кавычку, увидеть сообщение об ошибке, а в нем имя базы и имя таблицы. Затем в поле логина ввести "qwerty'; свой sql-запрос к таблице;", и этот запрос будет выполнен. |
Так вроде множественные запросы не выполняются?
Спустя 1 час, 26 минут, 15 секунд (7.04.2009 - 18:50) ADiel написал(а):
Цитата (FatCat @ 7.04.2009 - 14:21) | ||||
Первый раз логином ввести одиночную кавычку, увидеть сообщение об ошибке, а в нем имя базы и имя таблицы. Затем в поле логина ввести "qwerty'; свой sql-запрос к таблице;", и этот запрос будет выполнен. |
Нет. ты не прав. вводимые данные переводятся в string. никакой ошибки mysql не будет и не было. долго проверял
Спустя 1 минута, 39 секунд (7.04.2009 - 18:52) ADiel написал(а):
Цитата (Alchemist @ 7.04.2009 - 13:36) |
ты прав, очень небезопасно сделал |
а подробнее можно? как нужно делать? я скажем так новичок.
Спустя 1 час, 53 минуты, 5 секунд (7.04.2009 - 20:45) Alchemist написал(а):
Подробнее тебе FatCat написал.
Спустя 6 дней, 20 часов, 2 минуты, 30 секунд (14.04.2009 - 16:48) glock18 написал(а):
2FatCat:
Класс! Очень эффектная sql injection.
Вопрос такой: есть два способа защиты от sql-injection (которые я знаю)
1. эксейпить строки от юзера.
2. bind параметры или так называемые подготовленные запросы.
2 гарантирует защиту от sql инъекций, а есть ли возможность сломать защиту mysql_real_escape_string?? То есть насколько 2 вариант вообще предпочтительней 1го?
Класс! Очень эффектная sql injection.
Вопрос такой: есть два способа защиты от sql-injection (которые я знаю)
1. эксейпить строки от юзера.
2. bind параметры или так называемые подготовленные запросы.
2 гарантирует защиту от sql инъекций, а есть ли возможность сломать защиту mysql_real_escape_string?? То есть насколько 2 вариант вообще предпочтительней 1го?
Спустя 3 часа, 46 минут, 48 секунд (14.04.2009 - 20:34) Joker написал(а):
Я долго пытался понять логику но к сожелению так и не понел
для начало надо разобрать это:
для начало надо разобрать это:
PHP |
<? |
И так сначало проверяеться, введен ли логин если введен то сразу человека авторизует на сайте, но после того как авторизовало уже! делаеться выборка из базы пароля и ид пользователя с помощью функции read_users но даж не понятно зачем?! и та выборка которая сделана не где не используеться, напрашиваеться вопрос зачем её делать?
_____________
Ищи меня тут (ilyaplot)