我正在编写一个脚本,让我的用户打开页面,投票选择我们的网站,然后获取网站上某些受限内容的密码。但是,我计划将密码存储在public_html之外的文件中,因此无法直接从源代码中读取密码。
有没有办法对public_html上面的文件进行AJAX调用?我不想将AJAX写入将要读取文件的public_html文件中,它只是打败了目的。
答案 0 :(得分:3)
不直接,不。而且,坦率地说,谢天谢地(因为js是在客户端执行的,客户端永远不会>可以访问public_html
以上的Web服务器。)
但是,您可以使用Ajax调用可以访问Web根目录 的Web根目录内部的 php脚本。这样,您仍然可以将密码保留在公共范围之外,但仍然允许您的用户使用它。
缺点是密码可能会在Ajax调用中进入客户端(取决于您的Ajax调用的作用)。基本上,如果JS可以访问密码,那么任何感兴趣的用户都可以访问。
答案 1 :(得分:1)
不,你做不到。
Web服务器不允许您这样做。
此外,公开访问服务器上的非public_html文件是非常不安全的。
答案 2 :(得分:0)
不,你不能对一个不是由web服务器提供服务的文件进行AJAX调用(我假设public_html上面的文件没有apache ALIAS或虚拟目录设置)。
要完成您要执行的操作,请在您的站点上创建AJAX调用的脚本(php?),并且此脚本将:
答案 3 :(得分:0)
没有。 AJAX请求就像是从服务器加载资源的任何其他请求。唯一的区别是它在已加载的页面上将结果公开给javascript而不是加载新页面。因此,如果AJAX请求可以获得此安全文件,那么任何人都可以。
您可以使用某种Web应用程序编程语言设置代理脚本,以便从磁盘中获取文件并将其发送给您。但是,将文件放在公共目录中并没有多大区别。
您可能需要在此重新考虑您的方法。
答案 4 :(得分:0)
为什么不对可以访问所需文件的服务器上的某个视图函数进行AJAX调用,然后将任何数据返回给AJAX请求?