gpt4 book ai didi

frameworks - Web 开发,保护应用程序代码

转载 作者:行者123 更新时间:2023-12-03 22:32:02 26 4
gpt4 key购买 nike

我正在查看一些 (PHP) 框架,我刚刚在 Laravel 文档中注意到了这一点:

Like most web-development frameworks, Laravel is designed to protect your application code, bundles, and local storage by placing only files that are necessarily public in the web server's DocumentRoot. This prevents some types of server misconfiguration from making your code (including database passwords and other configuration data) accessible through the web server. It's best to be safe.

我熟悉CodeIgniter和CakePHP,据我所知,这两个框架不会做这个。你真的应该把它分开并将你的核心逻辑放在 webroot 之外吗?根据我的经验,大多数客户使用共享主机并且无法更改其 VirtualHost 设置。

您可能会执行哪种错误配置会输出您的密码?开发时,你真的应该这样做吗?

最佳答案

是的,只保留那些应该在 DocumentRoot 中公开访问的文件是 web application security 的最佳实践.考虑:

  • 每个私有(private)文件都需要使用网络服务器配置的规则来明确阻止它。
  • 向项目添加文件的任何人都需要考虑网络服务器安全设置。只需将文件保存在单独的目录中,就可以清楚地知道什么是公开的。开发人员无需更改安全配置。
  • 无论如何,将可执行代码和静态文件分开是一种很好的做法。
  • 不阻止对 PHP 脚本的访问可能会导致意想不到的后果。例如,当您在命令行手动运行时,您可能有一个脚本来更新一些数据库记录,因此只需猜测脚本名称的人就可以在互联网上运行它。
  • 如果真正的应用程序逻辑在别处,则监视和清除写入公共(public)目录的恶意代码会容易得多。有关示例,请参见 Wordpress 入侵。

关于frameworks - Web 开发,保护应用程序代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13647896/

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