在ajax请求中隐藏php文件的路径
hide the path of the php file in ajax request
我不知道这是否可能是
但我的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中。
否。
这是不可能的。客户端执行请求,客户端由用户控制。
- 将Windows文件路径组织到文件夹中
- 在ng中给出文件路径包括什么
- 无法在ajax调用中发布绝对文件路径-无论我做什么,它都会返回斜杠
- 用于在web服务器中上载的文件路径
- javascript文件中带有php(wordpress)的Src文件路径
- 在linux上使用软件包减少grunt的大小.文件路径对Jenkins来说太长
- 使用正则表达式angularjs验证文件路径
- 从不一致的文件路径数组中获取键的值
- 使用 jQuery 从 HTML 中的多个图像元素中删除文件路径
- 如何将本地文件路径转换为文件::?/url在node.js中的安全性
- 如何在dropzone.js中获取选定的文件路径
- 为什么在下面的场景中,用于存储所选文件名和文件路径的隐藏输入字段没有在表单上生成
- windows文件路径转换为mac
- 将文件路径从XSL传递到JavaScript函数
- 是否可以不在grunt中提及所有的脚本文件路径
- 输入类型文件将文件路径添加到范围
- Node Webkit从avi文件路径获取视频持续时间
- 如何将JavaScript文件路径映射到ASP.Net MVC控制器操作
- php文件上传返回文件和文件路径的有效性
- 通过document.location以javascript中的字符串形式传递文件路径