Руководство по обеспечению безопасности веб-приложения ajax php - PullRequest
1 голос
/ 15 января 2009

У меня есть небольшое AJAX-приложение, написанное на PHP, которое я не защищал с самого начала. Я хотел бы получить некоторые рекомендации о том, как теперь защитить приложение, что реализовать и проверить. Я не нашел исчерпывающих руководств в Google и надеюсь, что некоторые из них можно будет порекомендовать.

Это небольшое приложение, которое подключается и отображает записи из базы данных MySQL. Он не использует внешние библиотеки.

Я не уверен, как защитить при передаче в переменных, таких как:

if (isset($_GET["cmd"]))
  $cmd = $_GET["cmd"];

Должен ли я просто объявить $ cmd перед проверкой isset?

Ответы [ 3 ]

1 голос
/ 15 января 2009

Если вы говорите о защите приложения (в отличие от сервера / среды, в которой оно установлено - к которому я не совсем подходил), то я бы рассмотрел следующее:

  1. Убедитесь, что любые пользовательские входы анализируются / очищаются, чтобы гарантировать, что они не могут выполнять такие действия, как Атаки с использованием SQL . Это включает любые запросы ajax, где пользовательский ввод может быть сохранен в строке запроса. Фактически все, что передается в приложение из строки запроса, должно проверяться / очищаться таким образом .
  2. Используете ли вы какие-либо пароли? Если это так, используйте SSL, чтобы остановить анализ пакетов. И хеширует ваши пароли в вашей базе данных с солью
  3. Быстрый Google выкопал это, которое выглядит довольно хорошо: http://www.securityfocus.com/infocus/1706
  4. Несколько советов по обеспечению безопасности пользовательского ввода http://www.dagondesign.com/articles/writing-secure-php-scripts-part-1/
1 голос
/ 15 января 2009

Самое важное правило при обработке пользовательского ввода: Проверка ввода, экранирование выхода .

0 голосов
/ 15 января 2009

Вы ищете руководство по безопасности? Отправь мне копию, когда найдешь!

Краткий контрольный список:

  • уязвимости SQL?
  • Проверьте ваши входные данные $ _GET и $ _POST и удалите все смешное
  • Потерять get_magic_quotes_gpc () (или как там это называется)

И, конечно, все, что должен делать ваш системный администратор:

  • последняя версия PHP
  • актуальная версия MySQL

Я не уверен, что отсутствие внешних компонентов автоматически повышает вашу безопасность. Я использую ADODB для PHP, чтобы обрабатывать все мои вещи SQL. Я знаю, что он проверяет уязвимости, поэтому мне не нужно это делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...