![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
djandrey |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.1.2007 Репутация: нет Всего: нет |
Обновлено:
Сайт переехал, поэтому у статьи новый адрес. Защита веб-приложений на Perl. Как не допускать уязвимости в скриптах. 18 правил безопасности с примерами и пояснениями. Обновлено2: И пунктов теперь 32. Это сообщение отредактировал(а) djandrey - 21.10.2010, 14:28 |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 2 Всего: 27 |
А про -T даже не написали...
-------------------- Died at Life.pl line 21 |
|||
|
||||
djandrey |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.1.2007 Репутация: нет Всего: нет |
Первая версия. Как-нибудь допишу другое. Многое ещё не сказано.
В частности планируется добавить про загрузку файлов на сервер, про настройки сервера, .htaccess, Perl::Critic, use strict и прочее. Да и про -T тоже, спасибо, напомнили. |
|||
|
||||
AndreyCH |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.9.2007 Репутация: нет Всего: нет |
Как начинающему web-programmist, статья мне интересна. Вот только хотелось бы узнать мнение "матерых" ;-) . Вроде все логично - а если автор заблуждается? Народ, выскажите свое мнение! Пожалуйста!
|
|||
|
||||
Anarki |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 14.3.2005 Репутация: нет Всего: 11 |
Неплохая статья.
Поверьте, он не заблуждается. Разве что стоимость защиты не должна превышать стоимость(ценность) защищаемой информации. Это к пункту 16. |
|||
|
||||
djandrey |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.1.2007 Репутация: нет Всего: нет |
За прошедшее время статья сильно пополнилась, стала чуть ли не в два раза больше.
В текущей версии от 8 декабря 2008 уже 31 пункт и это ещё не всё, что хотелось написать. Есть ещё пункты, которые в TODO. Извиняюсь за выкладывание промежуточной версии с некоторой долей сырья под конец (да, прямо посреди текста можно обнаружить несколько TODO). Думаю, это по-любому лучше, чем старая версия с 18 пунктами. Статья живёт по новому адресу: http://dj-andrey.ru/articles/perl-web-application-security Есть мысль по окончанию TODO сделать из этого аудиоверсию, эдакий подкаст чтоли. Но с такой немаленькой и очень програмерский статьёй не всё так просто. Например, одним куском или разрезать, а так же что делать с кодом и таблицами. Что скажете, стоит оно усилий по озвучиванию или это всё-таки вещь для чтения? |
|||
|
||||
ЗлыеТапки |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 6.4.2010 Репутация: нет Всего: нет |
непонятен пример
зачем автор пишет дополнительную проверку "or param($p) <= 0" ? Ведь знак минус уже не попадает под шаблон \d+. И без этой дополнительной проверки можно. Имхо, автор обманывает читателя. |
|||
|
||||
djandrey |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.1.2007 Репутация: нет Всего: нет |
2 ЗлыеТапки: спасибо. Совсем без второй проверки нельзя, потому что не просто целое число, а ещё и не равное 0. Поэтому вместо <= надо ==.
update: паправил статью Это сообщение отредактировал(а) djandrey - 11.8.2010, 18:19 |
|||
|
||||
MaXL |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 24.10.2005 Где: Владивосток Репутация: нет Всего: 2 |
тогда не проще ли написать так
? UPD: понял, строки вида '01' не будут проходит под такой шаблон. Это сообщение отредактировал(а) MaXL - 12.8.2010, 13:11 -------------------- MaXL |
|||
|
||||
djandrey |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.1.2007 Репутация: нет Всего: нет |
В оригинале вообще-то было так:
Но проверка выхода за пределы длинного числа из статьи выпилина, ибо специфика конкретного приложения, но стоит иметь в виду, что иногда надо при взаимодействии с БД или со штуками со строгой типизацией, чтобы число не привысило некоего порога по длинне строки при приведении к строке, либо диапазона значений, который можно хранить в N байтах и т. п. А, чё я, собсна, пришёл сказать. Вопреки игнорированию или несогласию (которое, возможно есть/будет, да ещё не высказано), я таки изложил статью в виде подкаста (чуть менее чем полтора часа сырого материала). Осталось нудное: смонтировать, свести и выложить на суд программерский. Непонятку с кодом решил просто: к коротким примерам (которые в пару-тройку строк для самой минимальной сути) просто отсылаю посмотреть код в статье, о больших примерах говорю, какую задачу они решают простыми словами без унылого зачитывания. Сроков не называю. Хочу, чтобы этот труд был интереснее и доступнее, т. к. воспринимать такой узконаправленный и настолько гиковский материал в виде подкаста, имхо, дело совсем непривычное. Это сообщение отредактировал(а) djandrey - 5.9.2010, 00:52 |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 2 Всего: 27 |
А вы в курсе, что \d, при включенной директиве utf8, матчит не только арабские цифры, но и, например, вьетнамские и арабо-индийские?
-------------------- Died at Life.pl line 21 |
|||
|
||||
djandrey |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.1.2007 Репутация: нет Всего: нет |
Догадывался, вроде даже мельком пробегался по этому делу в доках, но лично НЕ тестировал. Пример отличный. P.s. На данный момент в подкасте 38 пунктов (он ещё не готов, монтирую). И про -T там уже есть. В текстовой версии ещё нет, но со временем появится. Это сообщение отредактировал(а) djandrey - 21.10.2010, 14:38 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |