7 PHP техник, которые помогут снизить риск взлома

Все PHP разработки когда-либо сталкивались с проблемами безопасности. Какие методы применять? Как избежать уязвимостей? Как заделать все лазейки для снижения риска взлома? Ответы здесь. Мы расскажем вам об основных техниках, которые используются для построения прочной безопасности скриптов.

Используйте фильтры и обработчики форм

Санитаризация и обработчики форм это отличные способы автоматической проверки входящих данных.

К примеру, неплохо создать специальные обработчики, которые будут проверять данные ещё перед самой отправкой на дальнейшую обработку. После отправки формы можно ещё раз проверить входящие данные.

Используя данную технику, вы можете быть спокойны, что данные, которые приходят от пользователя, в нужном виде попадут в пункт назначения – базу данных.

Так же можно применить и другие обработчики (санитарные), которые в основном защищают вас от суперглобальных данных, обрабатывая их ещё на ранних стадиях, тем самым предотвратить попадание ненужных данных в базу.

Выполнение тестов для публичной части сайта

Гораздо больше ошибок и недоработок можно найти, если тестировать вашу публичную часть сайта.

К примеру, если у вас есть форма, то проверьте её на устойчивость против XSS атак, SQL инъекций и много другого. Почему я обращаю внимание на публичную часть сайта? Да потому что, найдя уязвимости тут, злоумышленнику будет проще подобрать действия, чтобы проникнуть в фронт-энд.

Однако проводить такие тесты бывает очень накладно по времени. Поэтому целесообразно воспользоваться уже готовыми софтинами для того, чтобы начать тестировать свой сайт.

Я говорю о таких плагинах к Firefox как XSS Me и SQL Inject Me.

Эти плагины вполне могут вам помочь найти уязвимости в ваших скриптах, тем самым вы сможете залатать все дыры в вашем корабле, прежде чем отправиться в далёкое плавание.

Используйте фрэймворки

Многие разработчики предпочитают использовать фрэймворки для разработки веб-приложений. Это замечательный способ снизить риск быть взломанным.

Некоторые PHP фрэймворки содержат уже готовые инструменты санитаризации и валидации данных, что значительно позволит сэкономить время. Готовые валидаторы ничем не уступят вашим, а может, будут и во многом эффективнее работать и защищать ваш сайт.

Использование фрэймворков можно сравнить с огромной оружейной комнатой, где вы выбираете оружие, чтобы пострелять. Готовые библиотеки не только сэкономят вам время, но и будут надёжно защищать вас (ведь они написаны профессионалами);

Мы рекомендуем использовать популярные PHP фрэймворки, такие как Zend Framework и другие… При большом желании, после получения опыта работы, вы сможете написать свой фрэймворк, который будет приспособлен под ваши проекты.

Используйте специальные классы для работы с Базами данных

Хорошей мыслью является использования специальной библиотеки классов для работы с базами данных. Они помогут вам избежать многих опасностей, связанных с SQL атаками.

Таким образом, при создании такого класса, вы можете валидировать входящие данные ещё раз, прямо перед самой записью в базу. Таких классов-оболочек существует очень много. Сейчас в моде «подготовленные» SQL выражения. Они используются даже в Wordpress.

Unit тесты

Unit тесты являются незаменимым инструментом, предотвращающим взломы, особенно если это касается полномочий или ограничений функциональности. Так же Unit тесты, позволяют тестировать работу ваших скриптов, проверять наличие сообщений об ошибках, при заполнении не всех полей, успехах при правильном заполнении и многом другом.

Особенно эффективно создавать Unit тесты при разработке больших приложений. Часто в процессе разработки происходит смена инструментов, допустим новая версия оболочки для баз данных. Если вы писали тесты для ваших скриптов, то после установки новой версии продукта (будь то Apache, MySQL или PHP) можете за 3 минуты проверить всю функциональность сайта.

Тестируйте ваш код сразу после написания

Многие разработчики начинают проверять работу своих скриптов сразу же после написания.

Часто скрипты занимают много сложных блоков, которые проверять сложнее, чем мелкие секции. Отладка кода пойдёт значительнее быстрее и эффективнее, если её проводить над отдельными небольшими блоками кода.

И ещё такой часто распространённый момент – лень. Лучше сразу отточить код, чем потом, когда мысли будут уже о чём-то другом.

Согласованность кода и методов

Важно писать код так, чтобы он был читабелен не только для вас, но и для других. Так же необходимо писать комментарии к каждому блоку, чтобы при одном взгляде на комментарий, сразу вспоминалась функциональность метода. Так же следует отметить, что оформление комментариев имеет свои требования.

Важно внимательно писать код, чтобы не дублировать его. Иногда такой код путает разработчика, что приводит к появлению уязвимостей.

Вывод

Таким образом, для того, чтобы снизить уязвимости кода до минимума, надо следовать целому списку действий, которые необходимо выполнять непосредственно во время написания кода.

Эти методы могут показаться недостаточными. Однако они являются самыми распространёнными, собранные статистически благодаря голосованиям. Не следует пренебрегать ими и забывать выполнять тесты.

Ну и вы не стесняйтесь, поделиться своими советами и рекомендациями по написания прочных приложений;)

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/cJ5HaPU-eSA/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

7 PHP техник, которые помогут снизить риск взлома | | 2012-06-29 06:31:57 | | Статьи Web-мастеру | | Все PHP разработки когда-либо сталкивались с проблемами безопасности. Какие методы применять? Как избежать уязвимостей? Как заделать все лазейки для снижения риска взлома? Ответы здесь. Мы расскажем | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: