|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Andrey Kulikov 2:5030/1098.50 05 Aug 2000 06:13:34 To : All Subject : help -------------------------------------------------------------------------------- > помогите пожалуйста, буду очень благодарен. суть проблемы: есть форма добавления сайта в рейтинг (поля: Имя, Hазвание сайта, Описание, URL сайта, пароль). при заполнении сайт автоматически добавляется в рейтинг. но есть нехорошие люди, :-) которые в полях "название" и "описание сайта" вводят примерно такие вещи: <iframe src="http://gamezz.narod.ru" height="0" width="0" border="0"></iframe><script>window.open("http://gamezz.narod.ru/puzzle/","gamez z","toolbar=1,location=0,status=0,menubar=0,scrollbars=1,resizable=1");window.f ocus();</script> или что-нибудь подобное.. соответственно в рейтинге помимо основной страницы открывается новое окно или сайт грузится в ифрейме :'( как я понял, нужно запретить вводить определенные символы в поля формы (например, запретить ввод символов "<", ">", "/" и так далее). вообщем, чтобы не воспринимались эти теги. то есть или запретить вообще, или чтобы они так и печатались в названии и описании, а не открывалось новое окно. > вот кусок скрипта этой формы: sub validate_data { unless ($in{'email'} =~ /^[\w-.]+\@[\w-.]+$/) { $error_text .= "<font color=#FF0000>Not a valid e-mail address.</font><br>"; $error = 1; } > это после е-майла, здесь по-моему можно ничего не менять.. if ($in{'name'} eq "") { $error_text .= "<font color=#FF0000>You must type in your Name.</font><br>"; $error = 1; } > поле Имени, тоже можно опустить.. if ($in{'site_name'} eq "") { $error_text .= "<font color=#FF0000>You must type in your Site Name.</font><br>"; $error = 1; } > а вот здесь нужно добавить невозможность ввода символов "<", ">" и "/".. if ($in{'site_description'} eq "") { $error_text .= "<font color=#FF0000>You must type in your Site Description.</font><br>"; $error = 1; } > и здесь тоже нужно добавить тоже самое.. unless ($in{'site_url'} =~ /\http:/) { $error_text .= "<font color=#FF0000>Not a valid URL.</font><br>"; $error = 1; } > и здесь кроме обязательного "http" тоже нужно добавить невозможность > ввода символов "<" и ">".. if ($in{'password'} eq "") { $error_text .= "<font color=#FF0000>You must enter your password.</font><br>"; $error = 1; } > поле Пароля. здесь не надо.. подскажите пожалуйста, или исправьте меня. заранее всем благодарен. --- info@rating.spb.ru * Origin: icq 109241 (2:5030/1098.50) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/184703999b977.html, оценка из 5, голосов 10
|