Pull to refresh
1
0
Рудьковский Алексей @AlexRudkowskij

User

Send message

Безопасная загрузка изображений на сервер. Часть первая

Reading time10 min
Views137K
В данной статье демонстрируются основные уязвимости веб-приложений по загрузке файлов на сервер и способы их избежать. В статье приведены самые азы, в врят-ли она будет интересна профессионалам. Но тем неменее — это должен знать каждый PHP-разработчик.

Различные веб-приложения позволяют пользователям загружать файлы. Форумы позволяют пользователям загружать «аватары». Фотогалереи позволяют загружать фотографии. Социальные сети предоставляют возможности по загрузке изображений, видео, и т.д. Блоги позволяют загружать опять же аватарки и/или изображения.

Часто загрузка файлов без обеспечения надлежащего контроля безопасности приводит к образованию уязвимостей, которые, как показывает практика, стали настоящей проблемой в веб-приложениях на PHP.

Проводимые тесты показали, что многие веб-приложения имеют множество проблем с безопасностью. Эти «дыры» предоставляют злоумышленникам обширные возможности совершать несанкционированные действия, начиная с просмотра любого файла на сервере и закачивания выполнением произвольного кода. Эта статья рассказывает об основных «дырах» безопасности и способах их избежать.
Читать дальше →
Total votes 77: ↑69 and ↓8+61
Comments57

Интеграция шаблонизатора Twig в CodeIgniter 2

Reading time2 min
Views9K
Логотип CodeIgniterЛоготип Twig
CodeIgniter — это небольшой и быстрый php фреймворк, с низким порогом вхождения. Хотя есть такие силачи как Yii, Symfony и Kohana, по непонятным причинам, все проекты пишу именно на нем. Всё бы хорошо, но есть у CI две довольно ощутимые проблемы: слабо развитый ActiveRecord и отсутствие шаблонизатора. Вторую проблему мы и решим.

Почему Twig, а не SMARTY?


Как по мне SMARTY — нечто большое, старое и страшное. С другой стороны — мощное и проверенное временем. Twig — молод, энергичен и вызывает доверие, так как встроен в Symfony, а у этого фреймворка довольно большое и активное сообщество. Хотя ещё вчера провели сравнение производительности в котором явно выиграл SMARTY, я решил попробовать Twig.

C общей информацией закончили, переходим к сути — три простых шага для интеграции Twig в CodeIgniter 2:

1. Переносим файлы Twig в CI


Забираем стабильную версию Twig с gitHub'а
github.com/fabpot/twig
Извлекаем содержимое архива и переименовываем папку в Twig, переносим её в папку application/libraries в вашем CI.

2. Связываем Twig с CI


Забираем стабильную версию одноименной библиотеки Twig для CI, которая даст нам возможность вызывать Twig из контроллера.
github.com/jamiepittock/codeigniter-twig
Из архива берем папку application и копируем поверх папки application в вашем CI.

3. Настраиваем пути Twig


Открываем application/config/twig.php и меняем пути в соответствии с вашими настройками. Например, мне понадобилось изменить путь к кэшу
$config['cache_dir'] = BASEPATH.'cache/twig';

Читать дальше →
Total votes 16: ↑8 and ↓80
Comments15

Создание расширения FireFox для начинающих

Reading time8 min
Views48K
В данной статье представлена пошаговая инструкция по разработке простейшего расширения для FireFox.
Это частичный перевод оригинальной статьи.

Это не моя статья, а моего друга (его мыльце: templar8@gmail.com). Он очень хочет попасть на Хабр. У меня самого не хватает кармы для инвайта.
Текст статьи
Total votes 104: ↑94 and ↓10+84
Comments33

[Перевод] CSS Filters

Reading time5 min
Views132K
CSS Filters были созданы для получения различных визуальных эффектов при применении их к DOM элементам. В данной статье мы поговорим об истории фильтров, о том, что они делают и как их применять. Так же рассмотрим их влияние на производительность как на десктопах, так и на мобильных устройствах.
Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments31
12 ...
31

Information

Rating
Does not participate
Location
Запорожье, Запорожская обл., Украина
Registered
Activity