Php 隐藏AJAX帖子的url和重定向含义?

Php 隐藏AJAX帖子的url和重定向含义?,php,ajax,post,obfuscation,url-redirection,Php,Ajax,Post,Obfuscation,Url Redirection,我正在用php后端创建一个网站。我有一个名为/inc/的目录,其中包含生成html网页时包含的php包含文件 如果用户试图请求/inc/目录中的任何文件(例如,通过他们浏览器中的url),我已经这样做了,这样他们就可以重定向到主页。我这样做是为了确保这些文件都不会被外部调用 我需要通过jQuery POST请求调用其中一个文件 我的问题是: 1) 我可以隐藏帖子中请求的文件的url吗 2) 由于对/inc/文件夹中文件的外部请求被重定向到主页,通过jQuery向/inc/文件夹中的文件发帖会失败

我正在用php后端创建一个网站。我有一个名为
/inc/
的目录,其中包含生成html网页时包含的php包含文件

如果用户试图请求
/inc/
目录中的任何文件(例如,通过他们浏览器中的url),我已经这样做了,这样他们就可以重定向到主页。我这样做是为了确保这些文件都不会被外部调用

我需要通过jQuery POST请求调用其中一个文件

我的问题是:

1) 我可以隐藏帖子中请求的文件的url吗

2) 由于对/inc/文件夹中文件的外部请求被重定向到主页,通过jQuery向
/inc/
文件夹中的文件发帖会失败吗?或者服务器是否区分POST请求和其他类型的请求

3) (可选)如何确保POST请求是“合法”完成的,而不是bot试图通过同时发出数千个POST请求使我的服务器崩溃?

1)否

2) 根据您处理重定向的方式,最好的方法是尝试查看

3) 总的来说,这不是一项容易的任务。简单的方法是检测相同的客户端并限制请求速率。一般来说,无法仅通过请求数据检测机器人

至于您最后的评论,您可以使用.htaccess限制对千个文件的访问,而无需重定向。但是,您仍然无法使用AJAX获得它们。隐藏东西的唯一真正原因是里面是否有一些敏感信息,比如密码、登录等等。其实这并不重要,没有人对一些隐藏的utulity文件感兴趣

  • 不知何故,在某个地方使用链接是不行的。提醒自己jQuery/Ajax/XHTTPRquests/Xm。。。任何指向外面的东西都必须指向外面。总会有一个url,而且它总是可以追踪的 确保您的url不易跟踪的选项

  • 为javascript调用创建一个页面(隐藏起来,但实际上什么都不做)
  • 编辑.htaccess选项并使用它处理javascript请求
  • Edit.htaccess选项和用于javascript服务器端处理的php页面
  • 我将检查选项3

    示例(包括2.!)

    在本例中,我们可以调用一个php脚本将您重定向到正确的页面,但是如果所有内容都是内部的,那么我不明白您为什么要隐藏脚本的url。如果如图所示设置了.htaccess,则只有您的页面才能访问它。用户和外部资源无法访问它,因为它们将被重定向

    但是,如果您的脚本引用外部API键,那么这可能很有用,您可以调用重定向脚本

    <?php
    echo file_get_contents(getEnv("SOMEKINDOFNAME"));
    ?>
    
    
    
    现在,当调用此脚本时,它将返回您的内容。如果你想在页面中加载,你可以调用这里描述的东西

    为了充分利用这一点,您必须将jQuery POST方法设置为在www.yourwebsite.com/发布this.htaccess所在的文件夹/request\u php\u script.php

  • 如果1和2像上面那样正确完成,您就不必担心来自外部的机器人试图访问您的.php脚本
  • 旁注: 您可以跳过额外的php脚本,但可以在.har文件中进行跟踪。这意味着最终,你的url仍然可以到达某个地方。使用额外的php脚本(为方便起见,为其提供查询参数)将使url变得足够模糊,难以找到。我用这种方法来隐藏对外部API键的请求

    TLDR

    • 页面的set.htaccess服务器环境变量
    • 将.htaccess重写条件设置为要重定向到页面的页面,如果
      • 最初来自我的页面
      • 通过脚本调用
    • 将javascript设置为调用指定页面
    中等“安全”

    在脚本中找不到

    如果不保存har文件,则无法追溯

    • 创建php文件以返回页面内容
    • 将.htaccess设置为指向php而不是页面
    高度“安全”

    在脚本中找不到

    无法追溯,即使在保存har文件时也是如此


    为什么您实际上需要将文件隐藏在
    /inc
    文件夹中?因为它们不应该作为网页访问。它们是要包含在其他文件中的实用程序文件,我只希望这些文件能够请求它们。2) 还是一样,测试看看。我估计它也会重定向,但我不确定。
    <?php
    echo file_get_contents(getEnv("SOMEKINDOFNAME"));
    ?>