防御.html和.php文件名猜测

时间:2015-03-06 14:49:20

标签: php html security

如果某些.html文件只能通过密码匹配(在PHP中实现)访问数据库中的哈希代码,则用户仍然可以猜测可能的.html文件名并查看所谓的特权页面。查看特权页面的源,然后用户可以看到.html中调用的.php的名称,这可能会导致猜测可能的POST参数。

减少对.html和.php文件类型的名称进行此类猜测的诱惑的最佳做法是什么。

.htaccess文件已经有"选项-indexes"防止列出目录。

编辑:嗯,为什么不赞成建议的答案之一或写一个新的答案,而不是赞成它是一个糟糕的实施。很明显,这是一个糟糕的实施,这就是为什么这个问题被发布的原因。

4 个答案:

答案 0 :(得分:2)

  1. 如果您只将这些页面包含在其他页面中,请在.htaccess中拒绝访问这些页面

  2. 如果您希望它们可以访问,但仅限授权用户使用,请使用密码保护或提供其他身份验证

  3. 防止人们猜测页面的名称是“通过默默无闻的安全性”,这绝不应该依赖。假设一切都是可见的,并从那个

    中解决您的安全问题,从而设置您的系统

答案 1 :(得分:0)

保护自己不受文件名称猜测,但仍然能够向某些用户提供该页面的唯一方法是利用用户帐户,登录和身份验证。

除此之外,您可以从所有IP设置.htaccessdeny,但有一些例外情况。

答案 2 :(得分:0)

要做到这一点,你需要使用某种路由器。

我强烈推荐超薄framewrok,但你可以轻松开发你的。

首先限制htaccess中除主index.php之外的所有.html和.php文件(或者你想要调用它)。

然后在index.php中检查是否允许用户查看该文件。如果是,则如果未显示404,则将文件包含在输出中。

在苗条中,您可以轻松使用现成的middlewares进行身份验证。

http://docs.slimframework.com/了解有关路由的更多信息。

http://docs.slimframework.com/#Middleware-Overview了解中间件

https://github.com/tuupola/slim-basic-auth/用于简单身份验证和示例。

答案 3 :(得分:0)

阅读评论和建议的答案让我觉得一个好的解决方案是让每个需要安全性的文件查询数据库,以确定是否经过验证"州仍然适用于此时。

实施"按请求检查"正如所描述的那样here存在漏洞。

如果STT LCU将他的评论转换为已发布的答案,我将删除此答案。