Покинул форум
Сообщений всего: 28
Дата рег-ции: Дек. 2009
Помог: 0 раз(а)
Тфу-ты, да, кавычки)
Хм, а тогда смысл всё прогонять через mysql_real_escape_string, когда кавычки всё равно нам ничего не дают? Может я чего-то недогоняю, но как понимаю одним из главных преобразований данной функции - как раз и является замена ' на \' .
Hunter
Отправлено: 27 Декабря, 2009 - 17:34:08
Частый гость
Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009 Откуда: Блага
Помог: 0 раз(а)
...хм.. я вообще с числами почти не работаю (имеется ввиду получаемые данные), php позволяет почти всегда обходиться строками....
WebGraf
Отправлено: 27 Декабря, 2009 - 19:19:06
Новичок
Покинул форум
Сообщений всего: 12
Дата рег-ции: Янв. 2009
Помог: 0 раз(а)
sql инъекция это одно, но не следует забывать о XSS. И для защиты от 1 и 2 одного mysql_real_escape_string мало
bems
Отправлено: 27 Декабря, 2009 - 20:20:26
Новичок
Покинул форум
Сообщений всего: 28
Дата рег-ции: Дек. 2009
Помог: 0 раз(а)
А регулярные выражения тут никак помочь случайно не могут. Всмысле чтобы определить, похожи ли вводимые данные на какую-либо sql-команду, или нет. Отсеивать названия команд так понимаю не лучший способ (например вдруг что-то просто хочет употребить слово select), тогда может регулярные выражения смогут помочь?
Phantik
Отправлено: 27 Декабря, 2009 - 20:47:28
Посетитель
Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009
Помог: 0 раз(а)
Если вы не проффи в криптографии, то функций
mysql_real_escape_string() и strip_tags() будет для ваших сайтов более чем достаточно.
Не изобретайте очередной говно-велосипед, поверьте, умные люди уже давно решили большую часть проблем защиты.
Большая часть уязвимостей всплывает из-за халатного отношения к простым вещам, пользователей и разработчиков. Начните с простых вещей - обрабатывайте ввод пользователя через функции, написанные выше используйте антивирус для ловли троянов и при регистрациях задавайте пароли не словарными словами длинной не менее 10 символов. И еще пароли в базе храните в хэшированом виде с засолкой либо с добавлением закрытого ключа.
Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009
Помог: 0 раз(а)
Контроль типов данных, ограничения прямого доступа к файлам, работающим непосредственно с базой, обрезание строковых данных соответствующими функциями, свести использование глобальных переменных к минимуму, отрезать у PHP register_globals по самые яйца, тщательно глазками анализировать последовательность выполнения программы, проворачивая подозрительные данные через мясорубку (var_dump). Ну и конечно же писать красивые запросы к базе, и обязательно установить контроль за возможными ошибками функций, работающих с базой. Много и не мало. Есть голова и руки - это зе бест!
Hunter
Отправлено: 02 Января, 2010 - 03:18:24
Частый гость
Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009 Откуда: Блага
Помог: 0 раз(а)
Ammy пишет:
отрезать у PHP register_globals
да ими и так никто не пользуется (почти), они вообще по умолчанию отключены.
Ammy пишет:
свести использование глобальных переменных к минимуму
в любом случае от их использования совсем не отказаться, даже если их самый минимум то они все равно у меня используются..
CodeGold
Отправлено: 02 Января, 2010 - 05:13:04
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2010
Помог: 0 раз(а)
да ты говори сайт, мы его попробуем на вкус! )))
Hunter
Отправлено: 02 Января, 2010 - 08:53:36
Частый гость
Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009 Откуда: Блага
Помог: 0 раз(а)
CodeGold
все на виртуальном хосте на локалке..
Hunter
Отправлено: 09 Января, 2010 - 07:49:52
Частый гость
Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009 Откуда: Блага
внес ее в базу..
а как ее к обратному виду потом приводить?
скажем если ник был o'conor то в базу он попадает в виде 'o\'conor' ..
соответственно чтоб его использовать его надо привести к обратному виду?
movEAX
Отправлено: 09 Января, 2010 - 10:49:12
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
Hunter пишет:
o'conor то в базу он попадает в виде 'o\'conor' ..
А что если использовать base64_encode для занесения именив базу?
----- армия.. самое убогое место
Мелкий
Отправлено: 09 Января, 2010 - 11:00:38
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Hunter пишет:
скажем если ник был o'conor то в базу он попадает в виде 'o\'conor' ..
соответственно чтоб его использовать его надо привести к обратному виду?
А если проверить? В базу строка записывается без экранирования.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.