|
|
|
|
|
для: heed
(22.02.2010 в 00:43)
| | Кавычки в запросе стоят, из функции просто их убрать забыл =), числа теперь отдельно через интвал пропускаю. Думаю прокатит =) | |
|
|
|
|
|
|
|
для: f@ntom
(21.02.2010 в 23:38)
| | неа, не универсально :)
>"'" .
я так понял потомучто в самих запросах вы кавычки таки не ставите
>mysql_real_escape_string(htmlspecialchars
если так обрабатывается например ник участника <rock'n'roll>, то будете так и выводить ему надпись "здрасьте,'<rock\'n\'roll>'
>Если переменная - число
, а если переменная пустая, а нужно при отсутствии значения значение "0", а если не "0" а "-1" ? :)
Я пытался сделать одной функцией всё что бывает нужно, вызывалась примерно так-же но со вторым параметром,
который означал что-за тип данных ожидается, email или url или число или ещё чего-то , экранированное или не экранированное html или нет, потом всётаки стали появляться случаи что эта функция не делала,)
и тем более когда нужна только одна цифра таскать везде такую функцию быстро надоело :)
//всётаки без htmlspecialchars в большинстве случаев удобнее, знаешь что работаешь с чистыми данными, а когда нужно изменяешь их | |
|
|
|
|
|
|
|
для: heed
(21.02.2010 в 23:32)
| | Порылся там-сям, в итоге получилось что-то такое =)
Щас попробую в деле.
<?
function cleanstr($value)
{
// если magic_quotes_gpc включена - используем stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Если переменная - число, то экранировать её не нужно
// если нет - то окружем её кавычками, и экранируем
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string(htmlspecialchars($value, ENT_QUOTES, 'UTF-8')) . "'";
}
return $value;
}
?>
|
| |
|
|
|
|
|
|
|
для: f@ntom
(21.02.2010 в 22:04)
| | >погуглил, тоже ответа не нашёл
это потомучто надо было вбивать запрос "site:softtime.ru mysql_real_escape_string",
а лучше вообще вбивать здесь :)
>-Можно ли пропускать данные через htmlspecialchars до занесения в базу?
можно , и даже если хватило-бы простого intval(), вопрос в том нужно-ли, и даст-ли это в чём-то выигрыш, но в размере текстовых данных выигрыша не будет точно.
>-И нужена ли mysql_escape_string, если предварительно обработал через htmlspecialchars.
это нужно читать мануал по обоим функциям, и заодно про magic_quotes и stripslashes(). | |
|
|
|
|
|
|
| Доброго времени суток, возник такой вопрос: как безопасно записать данные в базу, а потом их так же безопасно оттуда вытащить?
Прочитал что не стоит перед занесением пропускать данные через htmlspecialchars , а лучше пропускать mysql_escape_string , а уже при выводе данных пускать через htmlspecialchars .
Но почему делать именно так я не понял, погуглил, тоже ответа не нашёл.
Дак как всётаки лучше?
-Можно ли пропускать данные через htmlspecialchars до занесения в базу?
-И нужена ли mysql_escape_string, если предварительно обработал через htmlspecialchars.
Заранее спасибо =) | |
|
|
|
|