|
|
|
| В инет ее выложили. Мне интересно узнать про это:
Получаемые от пользователя переменные $author и $pswrd перед использованием
в SQL запросе, не проверяются на наличие завершающего данные обратного слеша "\".>
Можно по-подробнее? Как это проверить? | |
|
|
|
|
|
|
|
для: Atom
(03.02.2005 в 21:59)
| | Обратный слеш \ является специальным символом, поэтому функции addslashes() и mysql_escape_string экранируют все обратные слеши, в том числе и последний. Прибегать к данным функциям следует только в том случае, если на сервере не включены magic quotes, иначе любой слеш будет удваиваться, так как сервер будет самостоятельно осуществлять эту функцию. Определить включена данная опция или включена можно при помощи специальной функции get_magic_quotes_gpc():
<?php
if (!get_magic_quotes_gpc())
{
$author = mysql_escape_string($author);
$pswrd = mysql_escape_string($pswrd);
}
?>
|
Замена прямых кавычек на обратные была оставлена, так как в настоящий момент накоплена большая база с обратными кавычками (объём базы этого форума - 10 Мб) и если их сейчас не преобразовывать большая часть скриптов придёт в негодность. | |
|
|
|
|
|
|
|
для: cheops
(03.02.2005 в 23:14)
| | тоесть заменять прямые кавычки на обратные не надо? | |
|
|
|
|
|
|
|
для: Atom
(03.02.2005 в 23:55)
| | При таком подходе можно не заменять. | |
|
|
|