保护php应用程序

时间:2010-02-05 10:49:22

标签: php mysql database security

我已经在PHP中从头开始构建了一个cms,我需要一点帮助才能让它更安全。基本上我已按照以下方式安排了所有重要文件:

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

这是阻止人们掌握价值观的安全方法吗?

将这些值存储在数据库中然后在此文件中运行查询会更好吗?

你能否给我一些关于如何更好地保护我的申请的提示?

3 个答案:

答案 0 :(得分:3)

首先,您以{strong>不那么脆弱的方式配置php installation,您还可以使用htaccess文件来保护您的目录。

其他安全问题呢?

<强> XSS
CSFR
SQL注入
会议劫持
会话固定

See this for it.

答案 1 :(得分:0)

检查POST数据的SQL注入,XSS:过滤器脚本(和HTML)插入到您的页面。 这两个是最重要的。

当然更新您的安装。你也不应该依赖Session。如果有人偷了一个记录用户的cookie,他就会变成这个用户。

答案 2 :(得分:0)

如果将值放在数据库中,则必须担心SQL注入。如果您没有使用参数化的quires,那么您可能会遇到SQL注入的严重问题,并且由于攻击面增加,将值移动到数据库可能是一个坏主意。在MySQL中,SQL注入可用于读取val.php等文件,确保您的Web应用程序没有“FILE”权限。您还必须确保在此文件上正确设置了您的权限。 chmod 750是此文件中的一个好文件,最后一个数字0拒绝所有不是您或您的组中的所有人的访问权限。

通过保留val.php中的值,您仍然需要担心像这样的目录遍历漏洞:

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

浏览您的代码并注意您正在阅读和写入文件的位置。确保您没有传入用户控件变量。如果你想让攻击者对PHP有防腐作用并学习如何阅读文件的其他方法,我建议你阅读A Study In Scarlet