Защита приложения php - PullRequest
0 голосов
/ 05 февраля 2010

Я создал cms с нуля в PHP, и мне нужна небольшая помощь, чтобы сделать его более безопасным. В основном все мои важные файлы расположены следующим образом:

/var/www/TESTUSERNAME/includes/val.php

Это безопасный способ помешать людям овладеть моими ценностями?

Было бы лучше сохранить эти значения в базе данных, а затем выполнить запрос в этом файле?

Не могли бы вы также дать мне несколько советов о том, как лучше защитить мое приложение?

Ответы [ 3 ]

3 голосов
/ 05 февраля 2010

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

А как насчет других проблем безопасности?

XSS
CSFR
SQL-инъекция
Захват сессии
Фиксация сессии
и т.д.
и т. д.

См. Это для этого.

0 голосов
/ 05 февраля 2010

Если вы поместите значения в базу данных, вам придется беспокоиться об SQL-инъекции. Если вы не используете параметризованные запросы, у вас могут возникнуть серьезные проблемы с SQL-инъекцией, и перенос значений в базу данных может быть плохой идеей из-за увеличенной поверхности атаки. В MySQL SQL-инъекция может использоваться для чтения файлов, таких как val.php, убедитесь, что ваше веб-приложение не имеет привилегий «FILE». Вы также должны убедиться, что ваши права правильно настроены для этого файла. chmod 750 - хороший файл, последний номер 0 запрещает доступ всем, кто не принадлежит вам или вашей группе.

сохраняя значения в val.php, вы все равно должны беспокоиться об уязвимостях обхода каталога, таких как:

print file_get_contents("/var/www/whatever/".$_GET['FILE_NAME']);

Пройдите свой код и обратите внимание на то, где вы читаете и записываете файлы. Убедитесь, что вы не передаете переменные управления пользователем. Если вы хотите получить защиту от атак злоумышленников на PHP и узнать, как можно читать файлы, я рекомендую прочитать A Study In Scarlet .

0 голосов
/ 05 февраля 2010

Проверьте данные POST для внедрения SQL, XSS: скрипт фильтра (и HTML), вставленный на вашу страницу. Эти 2 являются наиболее важными.

И, конечно, обновить вашу установку. Также вы не должны полагаться на сессию. Если кто-то украл файл cookie зарегистрированного пользователя, он переходит в него.

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