【问题标题】:Hide ajax Path in JavaScript (jQuery)在 JavaScript (jQuery) 中隐藏 ajax 路径
【发布时间】:2011-12-29 23:03:07
【问题描述】:

假设我在 jQuery 中使用 $.post。正确的语法是 $.post("xxx.php",{/*options*/},function(data)) 我怎样才能做到这一点,在这种情况下,xxx.php 实际上并没有出现在 JavaScript 中。我可以放一个像/login 这样的相对路径吗?如果这可行,是否会引用其中的index.php 文件。或者,我可以使用编码版本,这似乎毫无意义,因为您可以轻松解码它。我只是不希望人们直接看到我的路径,而不是制作额外的脚本来确保XHTTP request 访问了这些文件。

感谢任何答案、链接或想法。

【问题讨论】:

  • 默默无闻的安全性不是一个合适的模型。如果您希望浏览器能够在某处发送数据,您必须接受人类也可以这样做,并且您无法控制他们发送的数据。您所能做的就是对其进行消毒。
  • @lonesomeday 问题在于模糊数据这一点并不明显。这是关于模糊路径。这是一个合理的要求。
  • 为什么要隐藏部分或全部请求 URL?
  • 因为说我有PHP文件login.php。我不希望人们能够访问该页面,并且在让视图目录破解工作时进行任何类型的更改。除了偏离主文件夹的图片之外,我真的不希望他们看到任何路径
  • @JonahAllibone 您是否考虑过使用根本不显示基于文件的路径的框架? Django 就是这样一个框架的一个例子。必须有一个基于 PHP 的解决方案来做类似的事情。

标签: php javascript jquery ajax relative-path


【解决方案1】:

【讨论】:

  • Apache 不在他的标签或问题中。
  • @kojiro 可能是因为他认为这是客户端问题。
  • How can I make it so that, in this case, xxx.php doesn't actually show up in the JavaScript. Can I put a relative path like /login or something 正是 mod_rewrite 所做的。
  • 我不了解 Apache。有没有在 PHP 中做类似的事情?
  • 没有。 PHP 运行/之后/网络服务器计算出正在请求的内容。因此您需要在 Web 服务器级别进行配置。
【解决方案2】:

您可以使用古老的方法让应用程序服务器从查询字符串中的参数中查找所有页面。然后你的所有 ajax 请求都可以转到同一个“文件”,但该文件会根据参数返回不同的 php 包含。

映射本身可能难以管理,但这是一个不同的 SO 问题。

【讨论】:

    猜你喜欢
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 2014-04-30
    • 2018-05-18
    • 1970-01-01
    • 2018-08-13
    • 2013-03-03
    相关资源
    最近更新 更多