gpt4 book ai didi

php - 对用于安全登录的更高 Web 根访问权限感到困惑

转载 作者:行者123 更新时间:2023-11-30 13:10:03 24 4
gpt4 key购买 nike

现在要尝试使用安全登录的形式,连接到数据库的 php 文件将存储在 Web 根目录 public_html 之上,因此它们不能被公开访问。

我的第一个问题是人们说你不能用 Javascript 调用这个 php 文件。

这是有道理的,因为 Javascript 在客户端运行并且可以公开信息,但这让我对如何安全地调用此 php 文件感到有点困惑。

我是否应该在 Web 根目录下有另一个 php 文件来调用 Web 根目录之上的内容敏感文件?

这是否可以通过“../../some-folder-above-web-root/some-php-above-web-root.php”来实现,如果是这样,那不是揭示了Web 根目录中的 php 文件?或者它的位置不重要,因为人们无法访问它(.. 黑客)。

总而言之,我真的只想知道如何正确、安全地与 Web 根目录之上的脚本进行通信。

最佳答案

是的,你是对的。 Web 根目录下应该有一个 PHP 文件,它将访问 Web 根目录之上的安全 PHP 文件。在 Zend Framework 中,有一个名为 bootstraper 的 index.php 文件,它可以做很多事情,包括:

  • 设置错误显示级别
  • 设置包含路径
  • 定义全局常量
  • 阅读配置文件
  • 加载库类
  • 获取前端 Controller
  • 配置数据库连接
  • 根据 RESTful url 和 MVC 确定路由
  • 设置异常处理
  • 调用请求的 Controller

我强烈建议使用 MVC 框架,它们是行业标准,并且具有针对许多常见问题(包括安全登录)的预构建功能。 Zend Framework 实现了访问控制列表样式的安全性,尽管您可以轻松地扮演自己的 Angular 色。其他著名的框架包括 Drupal、Yii、Codeigniter、Symphony、CakePHP 和 Joomla。

其他最佳安全实践是:

  • 根据 mimetype 而非文件扩展名或文件类型过滤所有上传的文件
  • 根据数据库表列类型和长度过滤所有 POST 和 GET 数据
  • 在运行之前清理所有 SQL 字符串
  • 更改服务器上的所有默认登录密码,例如:Apache、MySQL、FTP、SSH、SVN 等。
  • 了解如何配置 php.ini、httpd.conf 等。
  • 禁用任何未在您的框架、PHP、Apache 和 MySQL 中使用的服务、模块和插件
  • 模糊你的代码
  • 使用单元测试
  • 了解一些有关渗透测试的知识

关于php - 对用于安全登录的更高 Web 根访问权限感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14219095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com