|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/371.32 07 Aug 2000 13:21:02 To : Andrey Kulikov Subject : Re: help -------------------------------------------------------------------------------- <Andrey_Kulikov@p50.f1098.n5030.z2.fidonet.org> wrote: >> помогите пожалуйста, буду очень благодарен. AK> суть проблемы: есть форма добавления сайта в рейтинг (поля: Имя, Hазвание AK> сайта, Описание, URL сайта, пароль). при заполнении сайт автоматически AK> добавляется в рейтинг. но есть нехорошие люди, :-) которые в полях AK> "название" и "описание сайта" вводят примерно такие вещи: AK> <iframe src="http://gamezz.narod.ru" height="0" width="0" AK> border="0"></iframe><script>window.open("http://gamezz.narod.ru/puzzle/","ga AK> mez z","toolbar=1,location=0,status=0,menubar=0,scrollbars=1,resizable=1");w AK> indow.f ocus();</script> AK> или что-нибудь подобное.. AK> как я понял, нужно запретить вводить определенные символы в поля формы AK> (например, запретить ввод символов "<", ">", "/" и так далее). вообщем, AK> чтобы не воспринимались эти теги. то есть или запретить вообще, или чтобы AK> они так и печатались в названии и описании, а не открывалось новое окно. Hу да. Только я не стал бы так геморроиться, как ты ниже, а просто молча игнорировал бы ввод. Ясно же, что никто, кроме пионЭра-хакера этого не сделает. >> вот кусок скрипта этой формы: AK> sub validate_data { AK> unless ($in{'email'} =~ /^[\w-.]+\@[\w-.]+$/) { AK> $error_text .= "<font color=#FF0000>Not a valid e-mail address.</font><br>"; AK> $error = 1; AK> } >> это после е-майла, здесь по-моему можно ничего не менять.. Здесь - да. Идет проверка регексом, не включающим этих символов. А во _всех_ остальных полях надо проверять. Банальным if ($in{'field_name'} =~ /[<>&"]/) { # игнорируем его нафиг Символ '/' ничем не плох, интересны символы, перечисленные выше. >> поле Пароля. здесь не надо.. Если никуда не выводится, то не надо. -- Счастливо! Ран. --- ifmail v.2.14.os-p7-tma3 * Origin: MemoNet (2:5020/371.32@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/347383cbcd5a.html, оценка из 5, голосов 10
|