достаточно ли strip_tags

  • Автор темы sergo_stavropol
  • Дата начала

sergo_stavropol

Guest
достаточно ли strip_tags

Достаточно ли для безопасности использование
PHP:
strip_tags()
при передаче переменных методом POST из формы?

PHP:
htmlspecialchars()
не хотелось бы использовать, так как символы html-мнемоники - штука на форуме полезная, имхо

PS Я про гостевую/форум/and etc...
PPS Понятно, что безопасность - понятие растяэимое :)
но, скажем так, достаточно ли это просто для того, чтобы юный читатель журнала КСАКЕП (© не мое) не передал через форму какую-нить каку?
 

sergo_stavropol

Guest
... не совсем понял

а если у меня идет проверка
if($REQUEST_METHOD=="POST") {
}
else {
echo "ввод данных таким способом недопустим";
}
 

young

Новичок
То я напишу свою форму, которая будет делать submit на твой скрипт

Тогда тебе прийдется проверять HTTP_REFERER

в итоге ты дойдешь до паранои :)
 

sergo_stavropol

Guest
нет, понятно, можно и пост метод тоже имитировать... слава Богу, многие из нас успешно отсылают сообщения на аську или смс-ки по кронтабу (типа 'хэй, дружище, не пора ли отобедать') , и реферер можно передать в заголовке, открыв нужный сокет, но ведь у этих данных тоже тэги обрежутся :)

мне лучше конкретно скажите, что может произойти, если использовать только стрип_тэгс

в частности, вот это
PHP:
/view.php?id=1' or 1 or '
мне чем грозит? - не стыдно признаться, я не понял :)

Пусть в форум пишут что угодно, откуда угодно и каким угодно методом (планирую даже постинги по почте с исп. imap-функций), лишь бы после этой писанины ничего влияющего на его нормальную работу не произошло
 

trent

Developer
[m]strip_tags[/m]
Warning
This function does not modify any attributes on the tags that you allow using allowable_tags , including the style and onmouseover attributes that a mischievous user may abuse when posting text that will be shown to other users.
 

sergo_stavropol

Guest
trent

а если этот аргумент отстутствует полностью?
 

sergo_stavropol

Guest
ОК, далее:

что лучше для этой цели: replace - функции или все-таки htmlspecialchars()?
 

sergo_stavropol

Guest
RomikChef

сто раз читал и успешно пользуюсь :)
но при чем тут безопасноть, объясни пож-ста
В факе написано, что "Для вашей же безопасноти", но в чем именно секурность заключается - не сказано.
Проясните?
или это столь очевиидно? (вполне допускаю)
 

lovchy

nacido para cifrar
Специальные символы могут быть не так восприняты... В данном случае - одинарные кавычки.
 

sergo_stavropol

Guest
я готов даже дать ссылку на страницу с этой формой, чтобы только вы мне показали насколько опасны одинарные кавычки, пришедшие в запросе :)) для опыта ....

нет, ну правда, я не понимаю. Расскажите pls
 

Rynor

stay hungry
и мне расскажите... :)
немножко оффтопика, но тема та же
сел писать функцию потрошения $_GET/$_POST в целях безопасности.
где-то кто-то здесь приводил хороший (надеюсь), пример, но тогда мне было до лампочки, а сейчас найти не могу :)
Братцы, гляньте на заначку - там все ОК?
PHP:
if (count($_GET)) {
	foreach ($_GET as $key => $value) {
		$s = strip_tags($_GET[$key]);
		$s = strtolower($s);
		$_GET[$key] = $s;
	}
	reset($_GET);
}
Или лучше SERVER[Q_S] проверить, потом ее в массив и его проверить?
 

RomikChef

Guest
Нет.
все не ОК.
абстрактно безопасных форм не бывает.
Надо сначала понимать, что ты хочешь, от чего защититься, а потом только писать защиту.
поскольку я не знаю, что и от чего ты хочешь защищать, то и ответить не могу.
 

RomikChef

Guest
про кавычки читайте в разделе безопасность в статьях на этом сайте.
 

Rynor

stay hungry
я понимаю, что индивидуальный подход рулит
но это у меня общая такая функция будет - выпотрошить все лишнее из GET. Плюс чтобы level=lvl и LeVel=LVl обрабатывались одинаково. С POST конечно, требуется куда более индивидаульное обращение...
вот не знаю, как из GET выкинуть весь мусор за раз (кавычки, препинания, скобки etc), надо регэксп писать, а не умею. буду читать.
может, есть у кого хороший код?
вроде crazy публиковал... эх, не сделал я тогда copy-paste :)
 

RomikChef

Guest
лично я НЕ считаю "кавычки, препинания, скобки " - мусором.
И поэтому требуемую функцию дать тебе не могу.
сомневаюсь, что крейзи тоже считает.
 
Сверху