保护服务器上的xml文件
我在这里阅读了很多关于保护apache服务器上的文件的答案,有人告诉htaccess只是为了拒绝用户访问文件。对我来说不是..保护服务器上的xml文件
使用下面的代码我无法到达xml,但是我的php脚本也不行!
<Files sample.xml>
Order allow,deny
Deny from all
</Files>
因此,如何保护用户的文件,使我的PHP脚本可以访问它。该文件位于根目录中。
如果你是一个Linux服务器上,有给它的shell访问,您更改文件权限
chmod 0700 yourxmlfile.xml # this will make it readable/writable/executable only by the creator of the file.
或在您的.htaccess文件,你可以这样做:
RewriteEngine on
RewriteRule ^yourfile.xml$ 404.html
其中您的404.html可能是页面未找到页面或任何垃圾页面,它将显示为无效的url。
如果用户你的意思是外面的人访问你的网站,你有几种解决方案:
的最佳方式是(如果你能)将其移动到web目录中。这肯定会保护它免受外部访问。
如果你不能把文件中的网站根目录外,使用.htaccess中允许只从本地机器访问受保护的文件:
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
我也建议把它在一个受保护的子文件夹,你可以存储你所有的私人文件。
谢谢。我把我的xml放到一个文件夹中,使用了你的htaccess命令,但是我的javascript无法读取xml。 Firebug错误:403禁止 - 您无权访问此服务器上的/xml/obs.xml 。 – subdesign 2012-03-06 09:27:14
那么你先说PHP吧。您的JavaScript在客户端执行,因此它具有与任何外部用户相同的访问权限。如果你想用JavaScript读取XML,它必须是公开的。 – 2012-03-06 18:13:49
你也可以通过添加代码,将用户重定向到一个404页,下面你的.htaccess:
RewriteEngine On
RewriteRule ^(.*)your_file(.*)\.xml$ [R=404,L]
使用此命令,我无法从url(404错误)获取xml文件,但是我的js脚本也无法读取。 – subdesign 2012-03-06 10:04:35
如何你的PHP程序试图访问该文件? – 2012-03-05 17:37:41
我是不正确的:我的JavaScript代码从URL读取XML。 – subdesign 2012-03-06 09:55:42
@subdesign:如果您的JavaScript可以读取您的XML文件,那么其他人也可以读取您的XML文件,并且没有办法阻止它! – linuxeasy 2012-03-06 10:04:33