【问题标题】:How to structure PHP AJAX functions within a web application?如何在 Web 应用程序中构建 PHP AJAX 函数?
【发布时间】:2012-02-01 21:55:58
【问题描述】:

我在一家开发 Web 应用程序的小公司(阅读:三名员工)工作,我们一直在为我们的应用程序的每个页面使用这种结构:

  • 设置环境的 PHP 页面“占位符”。
  • HTML 被分离成 Smarty .tpl 文件。
  • JavaScript 分离到不同的 .js 文件中。
  • 还有一个由 JavaScript 发布到的“ajax_functions.php”文件。

我对文件结构感觉很好,虽然它有点乱(如果我错了,请告诉我!)。我的问题是关于“ajax_functions.php”页面的。现在,JavaScript 将向类似于 'ajax_functions.php?action=subscribe' 的内容发出 $.post 请求,页面本身如下所示:

    switch($_GET['action']){
      case('subscribe'):
        //Do stuff...
      break;
      default:
        die('Invalid request');
    }

我只是觉得这种方式太不安全了:如果有人想直接链接到该页面并反复向其发送垃圾信息,则几乎没有办法阻止他们。是否有更好的结构请求?

【问题讨论】:

  • 对我来说似乎很合理,您仍然可以使用会话管理来锁定它,或者您可以生成在第一页上生成的一次性请求令牌,通过 ajax 请求传递,并在您的ajax_functions.php 脚本
  • 查看之前关于保护 AJAX 请求的问题 - stackoverflow.com/questions/1953954/…

标签: php ajax


【解决方案1】:

这看起来不错。

为了对比,我在做什么(非常相似)

我的结构

-AJAX 等的 JS 文件

-处理 _POST 和 _GET 数据的 PHP 类/函数

原来如此。

类/函数检查正确的 _POST 或 _GET 数据并执行我需要的任何其他验证检查。

我从函数中返回一个数组,然后可以对其进行 json_encoded 并发送回 JS

这对我很有效,因为这些函数可用于发送相同数据的表单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 2011-11-22
    • 2011-01-25
    • 1970-01-01
    • 2013-03-05
    相关资源
    最近更新 更多