在ajax请求中隐藏php文件的路径

hide the path of the php file in ajax request

本文关键字:文件 路径 php 隐藏 ajax 请求      更新时间:2023-09-26

我不知道这是否可能是

但我的javascript中有一个ajax函数,作为所有人,我们知道我们需要在ajax请求中提供php file path,这对所有用户都是可见的,不幸的是,他们可以看到ajax文件的路径和存储位置。但我不希望发生这种情况,我不希望用户或客户端看到我的ajax文件。有没有办法向客户端隐藏这个路径,从看到ajax文件的路径?我知道这有点模糊,但我只想走这条路,这可能吗?

更新

所以有没有什么方法可以阻止用户从url查看或打开php文件,我的意思是,如果用户输入ajax文件的路径并点击回车键,他可以在那里看到我的所有文件,他可以很容易地破解我的数据,所以有没有一种方法阻止用户输入它们,我只想让我的页面访问php文件,而不是从用户url访问,谢谢

这是不可能的。浏览器必须请求URI。用户可以看到他们的浏览器正在请求什么资源。

"Ajax文件"不是特例。您需要以与通过HTTP提供的任何其他资源完全相同的方式来保护它们。即使用身份验证和授权以确保只有被允许访问它们的用户才能访问,输入验证以确保发送给他们的任何数据都是可接受的,以及转义以确保如果您试图将数据插入SQL/HTML/JS/任何其他数据格式,数据不会给您带来问题。

更新响应:

那么有什么方法可以阻止用户从url 查看或打开php文件吗

仍然没有!

我的意思是,如果用户输入ajax文件的路径并点击回车键,他可以在那里看到我的所有文件

您可以将服务器配置为不提供DirectoryIndex。具体情况取决于服务器。或者,你可以在那里放一个空白的index.html文件。

他可以很容易地破解我的数据

如何?

那么有没有办法阻止用户输入

没有。

我只想让我的页面访问php文件,而不是来自用户

只有HTTP客户端可以请求URI。无法区分响应您编写的JavaScript指令的HTTP客户端和响应用户输入的HTTP客户端。

一种可能的方法是对其进行模糊处理,使其不可由用户读取。expl;通过使用主脚本并通过打开发送的POST/GET参数(可以是随机字符串、哈希、数字)来包含文件。当您通过mod_rewrite将所有流量重定向到一个脚本时,可以实现更有效的模糊处理。在url的某个地方,你隐藏了一个数字,这个数字告诉你要使用哪个文件。然后在它之前和之后添加随机字符串(具有特定长度),并从主脚本中读取它。但是用户会通过查看javascript来发现。

但很狡猾。你为什么在乎?默默无闻是没有安全的!

/已更新到您更新的问题我认为您希望查看您的apache配置;使用.htaccess文件或更好的方法,同时禁用目录索引。用户将无法了解您的所有php文件。只有那些,你通过应用程序中的链接公开的。并没有所谓"只允许ajax访问文件,不允许用户访问"。因为ajax是用户,反之亦然!您代表用户发送ajax请求!如果用户在浏览器栏中输入url,则与发送ajax请求相同。您可以在ajax调用中添加一个特殊的头(或者使用已经提供的头),但只要用户看到流量关闭,这不会改变任何事情。我认为你想要的是一个用户会话,只允许特权用户完全执行脚本。

除非您在apache tomcat中使用jsp技术,否则您可以将文件夹放在WEB-INF中。

否。

这是不可能的。客户端执行请求,客户端由用户控制。