WWW.MOBILA.FARX.RU
 Веб-Мастеру
Безопасность ваших PHP скриптов
 Погода

» Создание сайта
» Бесплатный хостинг
» Бесплатная почта
» Дизайн сайта
» Раскрутка сайта 1
» Раскрутка сайта 2
» Программирование
» База белых каталогов
» Статьи

 E-Money
» Электронные деньги
» WebMoney
» E-gold
» Liberty Reserve
» RuPay
» Обменные пункты
 Заработок

» Начинающим
» Компания DepositFiles
» Основные вопросы
» Спонсоры(САР)
» Серфинг и автосерфинг
» MLM проекты
» Инвестиции
» Веб-мастеру
» Букмекерские конторы
» Моментальные бонусы
» Введение в коммерцию
» Всё о коммерции
» Статьи о заработке
» Форумы о заработке

 Идеи бизнеса
» Часть 1
» Часть 2
» Часть 3
» Часть 4
» Часть 5
» Часть 6
» Часть 7
» Часть 8
» Часть 9
» Часть 10
» Часть 11
» Часть 12
 Реклама
Яндекс.Погода
 Реклама

Как всегда, начну с теории. От безопасности скриптов зависит правильная работа ваших сайтов и форумов, а также отношение ваших посетителей к вам. К примеру, если ваш сайт, “испортят”, то у посетителей может сложиться не очень хорошее впечатление о вашем сайте, и они к вам больше не придут. Даже, несмотря на то, что вы уже все исправили, т.к. первое впечатление о сайте, остается надолго, и посетитель, разочаровавшийся в вас один раз, больше не зайдет к вам, даже при очень заманчивых уговорах.

            Теперь подумаем, что же можно сделать такого, чтобы, не случилось неприятностей, с работой ваших скриптов. Перечислю основные положения:

  1. 1.       Всегда разбивайте один большой скрипт на несколько маленьких, ненужно запихивать в один скрипт все, что может пригодиться, так как, в крайнем случае, для объединения скриптов можно воспользоваться функцией include.
  2. 2.       Всегда храните пароли для доступа к сайту зашифрованными или используйте md5() для получения и сравнения хэш-суммы пароля.
  3. 3.       Никогда не передавайте в качестве параметров имена других скриптов, т.к. этим можно воспользоваться. Лучше сделать небольшой скрипт, который в зависимости от значения какого-либо параметра, выбирает, какой скрипт лучше include()’ить. Делается это очень просто с помощью оператора switch().
  4. 4.       Проверяйте, откуда и как был запущен ваш скрипт. Эту задачу можно решить по-разному.
    1. a.        Если ваш скрипт работает в составе какого-то основного, то можно просто ввести какую-либо переменную, устанавливаемую в главном скрипте, и проверяемую во всех подключаемых скриптах с помощью простого isset() или сложной функции, с проверкой самого значения (к примеру, так делают почти все сотовые операторы, с сайтов которых можно отправить SMS).
    2. b.       Если же ваш скрипт работает отдельно, то можно проверять значения с помощью getenv(), к примеру, проверять getenv('QUERY_STRING') или getenv('HTTP_REFERER'). Но это не дает никаких гарантий, т.к. эти значения можно без проблем изменить, если запускать ваш скрипт с другого сайта
    3. c.        Ну и самое важное используйте .htaccess, о нем много статей у меня на сайте в разделе “статьи”.
  5. 5.       Еще можно попробовать технологии Zend, в частности Zend Optimizer, но главное, что нужно учесть при использовании продуктов данного производителя, то, что на сервере, у хостера должен быть установлен пакет Zend для PHP, в большинстве он установлен по умолчанию. Все подробности о продуктах Zend и их возможностях на их официальном сайте http://www.zend.com/.

Конечно, важно еще понимать, какие данные можно передавать через строку браузера, а какие нет. К примеру, на многих сайтах часто встречается ошибка, когда пароль передают скрипту в качестве параметра, через строку браузера использую метод Get, вместо метода Post, не учитывая, что браузер сохраняет почти все запросы к просмотренным страницам, а от туда несложно получить и пароль, несмотря на то, что он даже urlencode()'ированн.

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

Дизайнер сайта: Лазаренко Виталий Сергеевич E-Mail:lazarenko-vitalik@xaker.ru ICQ: 397-116-997
Использование материалов сайта возможно только с разрешения администрации.

Все права защищены. WEBMSX.NAROD.RU - Работа в интернете © 2008
CY and PR Rambler's Top100 Рейтинг@Mail.ru