![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
r |
|
|||
Unregistered |
Имеем строку
Это проверка на отсутствие символов. Вопрос, стоит ли вырезать другие символы такие как: \0,\,(,),!,@,#,$,%,^,&,* и т. д. Или не стоит, ведь всё равно при наличии посторонних символов программа завершится. Или лучше вырезать, так как можно это как-то обойти и тем самым получить несанкционированный доступ. Спасибо. |
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Не совсем понятно что ты хочешь. Даннуый код можно прочесть так:
Выйти из цикла если в переменной $param несколько, возможно один символ латинского алфавита. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
r |
|
|||
Unregistered |
Меня просто заинтересовало можно-ли через передачу параметров cgi-программе передать какие либо символы которые могли-бы изменить ход этой программы. Код который выше как раз и проверял параметр на наличие символов A-Za-z. Просто где-то читал что можно вставить
в html-форму примерно такой тег: <img source='http://zloi_dyadya/cgi-bin/spy.pl>. Поэтому я и задал такой вопрос. А вообще как ты проверяешь входные данные на наличие таких тегов и всего такого нежданного? Как ты контролируешь что запускаемые функции вызываются в той последовательности в какой ты и задумал? Спасибо. |
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Я же, уже помоему тебе говорил, как я это делаю. Во первых, проверяй на то, что можно, а не на то, что нельзя.
Например, ты из-какого либо поля получаешь имя пользователя, которое может состоять как из одного слова так и из нескольких. Теперь давай подумаем какие символы можно пропустить. Так как имя может состоять только из сиволов какого-либо алфавита и пробелов, потому как мы допускаем ввод полного имени, из нескольких слов. Пишем такое регулярное выражение:
Поэксперементируй с этим кодом, попробуй передать цифру или любой не допустимый символ или напиши в строке четвертое слово. Удачи. Это сообщение отредактировал(а) korob2001 - 27.3.2005, 15:38 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
Guest |
|
|||
Unregistered |
Ну это понятно, значит через ввод параметров злые дядьки не пролезут, за исключением разве что ввода больших данных, да? P.s. И вставки кода см. цитату. |
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Ничего не понял, что ты этим хотел сказать???? ![]() -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
r |
|
||||
Unregistered |
Читал что если передать большие данные методом POST, то будет сбой если не запретить принимать данные в больших количествах например:
А ещё читал где-то как осуществляют атаки например то-ли на форумы, то-ли гостевые книги, просто перенаправляют вызов чьей-то программы на свою например:
Вот я и подумал, а если вставить в форму такой вызов, сработает? ![]() |
||||
|
|||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Всё верно, это особенно полезная переменная при загрузке файлов на сервер, да и вообще для контроля за кол-вом получаемой информации, но делать проверку регулярками нужно в любом случае. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
r |
|
|||
Unregistered |
Да, только вот вопрос до сей поры мучает, отослал допустим сервер форму юзеру а он сохранил ее на винт, да подправил кое-что например указал где находится какой-либо ресурс
и вот, теоритически, что может сделать энтот скрипт зловредного когда загрузится? |
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
А куда он загрузится??? Юзер сохранил твою форму у себя на винте, изменил исходник HTML, что произойдёт с юзером, это должно волновать, только его самого, не тебя, а уж тем более не сервер.
Или я не понял вопроса, или ты не до конца пояснил его??? -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
r |
|
|||
Unregistered |
Да, наверно я стакан проглотил лишний, и мысль теряется,
![]() |
|||
|
||||
korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Работать он будет на этой машине: http://zloi_dyadya/cgi-bin/spy.pl, но только в том случае если по этому адресу есть такой скрипт, если у него установленны права исполняемого файла ну и так далее.
![]() Это сообщение отредактировал(а) korob2001 - 26.4.2005, 19:22 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |