2010-02-05 2 views
0

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

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

Является ли это безопасный способ, чтобы остановить людей от попадания в руки мои ценности?

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

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

ответ

3

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

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

XSS
CSFR
SQL Injection
угон Session
Фиксация сессии
и т.д.
и т.д.

See this for it.

0

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

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

+0

о вашей последней части (сессии): thats bull **** -> читать на захвате сессии и фиксации сессии. Или ссылка Сарфраза Ахмеда – Deefjuh

0

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

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

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

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

Смежные вопросы