htaccess对所有人的拒绝是多么安全

Tom*_*260 2 php security .htaccess

我有一个文件,除了我自己的服务器(通过php请求),我不想被任何人访问.我在.htaccess中使用以下内容:

<Files myfile.xml>
    Order Deny,Allow
    Deny from all
    Allow from localhost
</Files>
Run Code Online (Sandbox Code Playgroud)

但是想知道,这有多安全?反正有人可以绕过这个并直接找到文件吗?在我的php文件中我有:

simplexml_load_file("myfile.xml")
Run Code Online (Sandbox Code Playgroud)

获取数据并使用

if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
Run Code Online (Sandbox Code Playgroud)

所以没有人可以直接访问该文件(仅限Ajax)你们怎么看待使用这种方法?

Mar*_*c B 8

由于您直接命名文件,因此只有myfile.xml获取该文件的唯一方法才是安全的.如果有人对您的服务器具有shell级别访问权限,并且可以使用不同的名称创建该文件的硬链接,例如ln myfile.xml heehee.txt,那么他们将能够获取文件的内容vi heehee.txt,因为他们没有通过'myfile获取它.XML".

最佳做法是将文件完全保留在文档根目录之外.这不会阻止符号链接/硬链接攻击,但它确实会阻止某些绕过攻击.

  • php不受URL限制的约束,因为PHP在文件系统级别运行.你可以在文件系统中包含/ fopen/file_get_contents文件ANYWHERE,即使Apache已将其锁定.PHP在Apache的安全系统下运行. (2认同)