php - 保护具有数据库写权限的文件

标签 php javascript jquery mysql

关于安全问题,我有一个很好的问题。

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

案例:

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

经过广泛研究后,我仍然不清楚这个问题的解决方案。

不知道您对此有什么想法吗? 我知道阅读您对此的想法将非常有用:-)

提前致谢!

最佳答案

有几种方法可以解决这个问题。第一种方法是在您不希望任何人看到的目录中使用 .htaccess 文件。像下面这样的东西应该有效:

order allow,deny
deny from all

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

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

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

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

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

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

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

  • 清理/参数化用户向数据库输入的任何内容
  • 从公共(public)文件中删除密码和敏感信息
  • 及时更新网络服务器的安全补丁
  • 始终使用完善且经过测试的加密库。永远不要尝试自己实现这个
  • 对访问数据库的所有密码进行加盐和哈希处理

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

关于php - 保护具有数据库写权限的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12223403/

相关文章:

php - 为什么有时查询需要 3 秒才能完成工作

php - 如何使客户端代码在页面刷新时工作

php - Android,快速推送消息到1000台设备

javascript - 如果使用 jQuery datepicker 为空,我需要它返回 0

javascript - 如何使我的 JQuery 图像 slider 与屏幕宽度相同?

php - 检查项目是否存在于 Memcached 中,而不拉它?

javascript - while 循环内的延迟方法

javascript - 嵌入然后替换为 angularjs

javascript - 带有信息窗口的 Google Maps API 多个标记

javascript - 从div内的多个iframe中提取标题