|
|
|
| Существует ли функция, пропустив через которую переменные можно защититься от:
XSS атак
SQL иньекций
"лишних символов" - имеются ввиду символы типа "<php" и т.д.
Спасибо | |
|
|
|
|
|
|
|
для: fxsektor
(17.01.2008 в 01:21)
| | XSS
<?php
$var = htmlspecialchars($var,ENT_QOUTES);
?>
|
MySQL:
<?php
$var = mysql_escape_string($var);
?>
|
| |
|
|
|
|
|
|
|
для: Sobachka
(17.01.2008 в 01:31)
| | В случае SQL-инъекции нужно также обратить внимание на тип параметра, если это число, то лучше воспользоваться преобразованием
<?php
$number = intval($number);
?>
|
Если это строка, то тогда следует обработать её следующим образом
<?php
if (!get_magic_quotes_gpc())
{
$text = mysql_escape_string($text);
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(17.01.2008 в 02:50)
| | Еще следует в строке проверять наличие недопустимых символов. т.е. удалять все кроме допустимых!
регулярным выражением или другими строковыми функциями.
В запросе лучше ставить кавычки перед параметрами, например:
SELECT * FROM table WHERE field1='name' AND field2='5'
|
| |
|
|
|
|
|
|
|
для: Sobachka
(17.01.2008 в 01:31)
| | $var = htmlspecialchars($var,ENT_QUOTES); | |
|
|
|
|
|
|
|
для: fxsektor
(17.01.2008 в 01:21)
| | О! Ищеццо еще один универсальный рецепт? Ну-ну... | |
|
|
|
|
|
|
|
для: Loki
(17.01.2008 в 10:17)
| | Что ты имеешь ввиду? Хош сказать такого не бывает? | |
|
|
|
|
|
|
|
для: fxsektor
(17.01.2008 в 13:37)
| | Разумеется не бывает. Данные обрабатываются определенным образом в зависимости от того, что с ними дальше планируется делать. | |
|
|
|
|
|
|
|
для: fxsektor
(17.01.2008 в 01:21)
| | > "лишних символов" - имеются ввиду символы типа "<php" и т.д.
И в чем это символы "<", "p" и "h" провинились, а? :angry: | |
|
|
|