Руководство по защите веб-приложения ajax php

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

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
553
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

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

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

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

  • последняя версия PHP
  • последняя версия MySQL

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

Ответ принят как подходящий

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

  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/

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

Другие вопросы по теме