All streams
Search
Write a publication
Pull to refresh
196
0
Павел @ProgerXP

Вольный программист и дизайнер

Send message
К теме статьи напрямую не относится, но очень часто разработчики грешат тем, что «оптимизируют» экранирование, если уверены, что исходные данные чисты. E-mail или числа — как раз примеры таких данных, только вот и те, и другие могут быть проблемой (про e-mail уже написал, а числа могут быть отрицательными, т.е. -... и это иногда может быть дырой).

Поэтому совет проверки входной строки на простое наличие там @ я лично считаю опасным. В общем случае.
Совершенно верно.

Вообще, первое правило защиты — не доверять ничему, что как-либо соприкасалось с данными извне. В Ruby есть очень интересная концепция tainted, когда виртуальная машина будет автоматически помечать все переменные, которые «взаимодействовали» с пользовательскими данными, как «ненадёжные» и в таких функциях, как exec, можно затем заблокировать выполнение, получив tainted-переменную.
Ну, я обычно пишу вообще: strrchr($fn, '.');
Браузер при загрузке передает Content-Type файла, который затем попадает в $_FILES.
Движок писался до того, как 5.3 стала мейнстримом, а safe mode выпилили только в 5.4, то есть спустя лет так 5-7.
Is_uploaded_file() вам в помощь.
*.jpeg эквивалентен *.jpg, nginx и другие сервера его отлично распознают. Другой вопрос — зачем проверять на 'jpg' в коде, если там всегда будет 'jpeg'? Авторы перестраховались.
Согласен, оптимальный вариант — выносить все скрипты за DocumentRoot, а для корня сайта отключать их выполнение. Либо если так не получается — отключать выполнение скриптов для пользовательских папок. Но увы, до сих пор многие движки грешат наследием и позволяют запускать всё и отовсюду. В этой связи особенно интересны ошибки в настройке nginx+fcgi, когда запустить на выполнение можно любой скрипт вне зависимости от его расширения (ссылка есть в статье).
Так ведь он вычисляется по содержимому файла, который вы загрузили.
Да что эти корпорации, сдурели что ли. Adobe, GoDaddy, Kickstarter, WarGaming, eBay… Кто на очереди? Amazon?
Эх, видимо прошли времена теплого лампового W3C и IETF. Особенно после принятия ими EME… Коммерция торжествует :(
Ролик просто шикарный, посмотрел с удовольствием. Сделан профессионально. Молодцы!
Эодно пожелание — делать транскрипт или хотя бы краткое содержание для тех, кто не хочет или не может смотреть все 10 минут.
Вот мне всегда было интересно, зачем всем этим бекдорам слежка с веб-камеры? Смотреть на мою небритую физиономию 24/7?
Было бы вам интересно совместное развитие такого форматтера? У меня с 2009 года есть проект вики-разметки, учитывающий особенности русской раскладки (никаких backticks, апострофов и т.п). Сам им пользуюсь в своей работе, но уверен, что он может пригодиться не только мне.

Вот ссылка на документацию: uverse.i-forge.net/wiki/demo/Basic. Парсер самодостаточный, PHP 5+.
Если заинтересовало — буду рад пообщаться.
Ну как сказать, он уже давно сообщил, что скоро часть возможностей Laravel будут по подписке. laravel.ru/articles/proger/laravel-freemium
Популярность — не самоцель. Это особенно справедливо для Mozilla Foundation, ...

… которая вот уже несколько лет как старательно копирует Хром. А какой Хром без ДРМ? Все логично.
Хотя практика показывает, что навык этот практически отсутствует у людей без ВО.

Как закончивший 9 классов и drop-out из универа, осваивавший всё с 10 лет сам и работав/ющий на самых разных позициях от низа до верха позволю себе не согласиться. Возможно, меня можно отнести к «исключениям из правил», о которых писал автор, но на мой взгляд такие «исключения» создаются искусственно нынешней образовательной системой и нормально воспринимающих знания людей могло бы быть на порядок больше, стоит только изменить систему оболванивания. В конце концов это (восприятие знаний, а не оболванивание) — нормальная черта humo sapiens.

Впрочем ладно, это уже перерастает в политдискуссию. Чего доброго ещё забанят.
Ради этого навыка стоит потратить 5 лет молодости? По мне так при должной мотивации вы за 5 лет миллион раз освоите все возможные способы работы с «методичками».
Все верно, именно поэтому я взял «обратную совместимость» в кавычки — решение с Blade совершенно не понятно. Можно объяснить только тем, что Тейлор не видит с XSS каких-либо проблем, как до 4.2 не видел проблем с «зашифрованной» кукой laravel_remember.

Information

Rating
Does not participate
Location
Россия
Registered
Activity