Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我不应该把我的PHP文件放在public_html文件夹中?_Php_Security - Fatal编程技术网

为什么我不应该把我的PHP文件放在public_html文件夹中?

为什么我不应该把我的PHP文件放在public_html文件夹中?,php,security,Php,Security,几天前,有人批评我把我的应用程序脚本放在public\uhtml文件夹中。在此之前,我一直认为755文件权限足以防止我的代码被读取而不是执行 我不喜欢现在至少有一半的应用程序逻辑是以JavaScript的形式公开的,并且它们来自公共文件夹。但是PHP脚本的真正威胁是什么呢?区别在于JavaScript代码通常是不受信任的代码(或者至少应该是,因为它在客户端上运行),而PHP代码通常被认为是受信任的代码(因为它在服务器上运行,用户无法直接干扰) 因此,发现PHP源代码漏洞的人如果能够利用它,通常比

几天前,有人批评我把我的应用程序脚本放在
public\uhtml
文件夹中。在此之前,我一直认为
755
文件权限足以防止我的代码被读取而不是执行


我不喜欢现在至少有一半的应用程序逻辑是以
JavaScript
的形式公开的,并且它们来自公共文件夹。但是PHP脚本的真正威胁是什么呢?

区别在于JavaScript代码通常是不受信任的代码(或者至少应该是,因为它在客户端上运行),而PHP代码通常被认为是受信任的代码(因为它在服务器上运行,用户无法直接干扰)

因此,发现PHP源代码漏洞的人如果能够利用它,通常比发现JavaScript代码漏洞的人拥有更大的权限,因为他们可以让PHP在服务器端运行某些东西

现在,虽然通过隐蔽性实现的安全性不应该是保护代码安全的主要手段——首先最好不要有安全漏洞——但让攻击者更容易找到以某种方式引入的漏洞通常也不是一个好主意。避免使用非脚本服务的根目录有助于防止发生意外(“哦,我意外禁用了PHP,每个请求页面的人都会得到源代码”)


此外,服务器端文件可能包括一些不属于公共的配置数据——内部网络地址、数据库信息等(尽管将凭证等内容与PHP代码分开也是一个好主意)。

此人是否在谈论配置文件等内容。?你需要把你的php文件放在公共文件夹中,让公众可以访问它们。你提到的东西在这个问题中::-)我明白你的意思。如果服务器管理员禁用Apache中的PHP模块,或者此接口中出现其他错误,则可以读取我的文件。如果我给我711权限,我的PHP文件还能运行吗?你给了我一些tipsUser Brandon Enriquez在这里回答了这样一个问题:……他说,如果你能找出用户名,你可以侵入PHP文件,即使它们不在公共html文件夹中,通过使用真实的文件路径。@EASI安全性不是操作系统的固有属性,而是它的使用方式。