|
|
|
| Я заметил, что у вас на форуме при регистрации (да и не при регистрации) нет ограничений на вводимые символы. Если не секрет как вы это сделали? Точнее как вы это всё в БД заносите чтоб не глючило с той же "магической кавычкой" и т. д. Заранее спасибо!. | |
|
|
|
|
|
|
|
для: Евгений Петров
(22.06.2005 в 16:10)
| | Так магические кавычки у нас на хосте включены, поэтому не глючит, а вообще информация пропускается через mysql_escape_string() перед занесением в базу данных и через htmlspecialchars() перед выводом в окно браузера. | |
|
|
|
|
|
|
|
для: cheops
(22.06.2005 в 21:05)
| | А как на счет бесплатных хостингов? У них они как правило включены или нет? | |
|
|
|
|
|
|
|
для: Евгений Петров
(22.06.2005 в 21:26)
| | Это зависит от хостинга, но включены ли магические кавычки вы всегда может проверить при помощи функции get_magic_quotes_gpc(), если они не включены, то использовать для экранирования различных спец-символов функцию mysql_escape_string(). Обычно используется следующая конструкция
<?php
if (!get_magic_quotes_gpc())
{
$author = mysql_escape_string($author);
$pswrd = mysql_escape_string($pswrd);
$url = mysql_escape_string($url);
$message = mysql_escape_string($message);
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(22.06.2005 в 21:50)
| | А вообще в чем суть. Сначала добавить слеши перед символами а при извлечении удалить их? | |
|
|
|
|
|
|
|
для: Евгений Петров
(23.06.2005 в 01:20)
| | да:) | |
|
|
|
|
|
|
|
для: P@Sol
(23.06.2005 в 10:26)
| | А вот и нифига? Я осилил себя и решил проверить как оно работает, так вот в БД значения заносятся уже без слешей. | |
|
|
|
|
|
|
|
для: Евгений Петров
(22.06.2005 в 21:26)
| | На [url]holm.ru[/url] magic_quotes_gpc включены. Приходится применять stripcslashes к строкам, пришедшим от пользователя перед сохранением информации, чтобы эти \' превратить в '. (Базу не использую. Вместо нее некое подобие - сериализованные массивы в файлах). | |
|
|
|
|
|
|
|
для: JC_Piligrim
(23.06.2005 в 14:03)
| | А то, что в строке не будет кавычек (точнее они будут предварены "\") гарантирует, то что не получится использовать SQL-инъекцию для взлома или нет? | |
|
|
|
|
|
|
|
для: Евгений Петров
(23.06.2005 в 14:08)
| | Это резко снижает вероятность SQL-инъекции практически до 0. | |
|
|
|
|
|
|
|
для: cheops
(23.06.2005 в 19:32)
| | А насколько опасна такая кавычка <'> и вообще какие наиболее опасные символы? | |
|
|
|
|
|
|
|
для: Евгений Петров
(23.06.2005 в 21:38)
| | Наиболее опасна одинарная кавычка ', так как позволяет закрыть переменную и присобачить к запросу что-нибудь вроде AND 1=1, что приведёт к ложному срабатыванию, или UNION другой запрос, что позволит отобразить информацию, которую не желательно выводить в окно браузера. | |
|
|
|
|
|
|
|
для: cheops
(24.06.2005 в 01:18)
| | Я у вас где то на форуме вычитал, что функцию HtmlSpecialChars можно как то обойти, не подскажите как? | |
|
|
|
|
|
|
|
для: Евгений Петров
(24.06.2005 в 01:56)
| | Если на хосте разрешено выполнение функций system и exec, то HtmlSpecialChars не спасёт от выполнения вставок с использованием этих функций... но такое редко наблюдается. | |
|
|
|