停止不必要的帖子到PHP文件

时间:2013-10-21 09:19:38

标签: php python ajax

enter image description here

您可以在上面看到Google的帐户注册页面,告诉我已经使用了用户名。首先,这就是我认为它告诉我的方式:

  1. 当文本输入失去焦点时,会对Google网络服务器中的某个文件进行AJAX调用
  2. 服务器(我相信运行Python?)处理用户名并通过查询对数据库进行检查。
  3. 数据库执行完查询后,结果将返回给服务器。
  4. 然后它返回到浏览器,在那里它变得漂亮,并以对用户有用的方式通知我结果。
  5. 我的问题与处理发生的位置有关。无论何处进行处理,它都纯粹为此页面服务。我和任何人都不应该找到Google执行此检查并将数据发布到其中并查看回复的文件。我想找出阻止我的是什么,谷歌如何阻止我对这个正在进行检查的Python文件进行手动检查?或者他们在一起?

    目前我正在使用PHP执行与Google在此处完全相同的操作。通过AJAX调用的PHP文件与注册位于同一目录中,称为“check.php”。如果您要在我的Web服务器上发布该文件的用户名,您会看到响应,这是我需要停止的(或者我应该不停止它?)。怎么办呢?

    由于

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您正在尝试确定请求是否通过ajax,如果没有,则阻止请求...

你有几种选择(会遗漏一些):

  1. 将“session_id”附加到表单并在“check.php”页面上对其进行验证。如果有效则继续。
  2. 查找AJAX请求标头(下面的示例)。 由于标题可以被操作,因此不一定可靠
  3. 使用jQuery ajax自行操作标题,然后在'check.php'上测试它
  4. 选项2的示例:

    if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest'){
        // I'm AJAX!
    }
    

    你还有其他选择,但这应该是一个好的开始......