使用对数据库的写入权限保护文件


Protecting files with write permission on database

关于安全问题,我有一个简洁的问题。

  • 如何保护目录和该目录中的文件免受黑客攻击?

箱:

  • 网站上具有写入权限的dBase连接/登录的所有文件都存储在一个目录中
  • dBase 上的所有其他请求都是只读的。(即对网页的请求(
  • 所有这些都是用PHP和jQuery编写的。
  • (有了这个,这个Q也悬而未决:你如何保护下载主.js文件?

解决方案是 - 经过广泛的研究 - 我仍然不清楚。

我想知道你是否对此有任何想法。我知道阅读你对此的想法将非常有用:-(

提前感谢!

有几种方法可以做到这一点。第一种方法是在你不想让任何人看到的目录中使用.htaccess文件。类似以下内容的内容应该有效:

order allow,deny
deny from all

更好的方法是将凭据存储在 www 根目录之外的服务器上的单独文件中。

<?php
$dbUsername = 'mywebapp';
$dbPassword = 'jlsdkfj94r493340rfj30f';
?>

然后只需将其包含在您的主代码中即可

<?php
include '/path/to/secure/location/vars.php';
?>

这也使您可以更严格地限制对该文件的访问。例如,我不会将密码添加到源代码管理中。

您关于网站一般安全性的问题的第二部分实际上取决于您需要的安全性。Javascript文件始终需要客户端可访问,并且这些文件中的任何内容都可以毫不费力地提取和读取。

我的快速网络安全提示是:

  • 清理/参数化从用户标题到数据库的任何输入
  • 从公共文件中删除密码和敏感信息
  • 随时了解 Web 服务器的最新安全补丁
  • 始终使用完善的测试加密库。永远不要尝试自己实现这一点
  • 对命中数据库的任何密码进行加盐和哈希处理

网络和计算机安全是一门完整的学科,因此,如果您的风险很高,您可能需要寻找专家。

如果你想保护它们不被读取,你可以使用 ioncube 对它们进行编码。但是使用安全的网站,您无需考虑保护您的文件,因为没有人可以访问这些文件。

这种课程有许多不同的安全方法。但是,基本安全性的简单方法是拒绝文件夹的目录列表,然后创建编码文件名并将其放入dBase中。