gpt4 book ai didi

Ajax 请求不对所有人开放

转载 作者:行者123 更新时间:2023-12-05 01:35:59 25 4
gpt4 key购买 nike

我已经使用 CodeIgniter 创建了一个 web 应用程序。我在应用程序中有几个地方使用了ajax。

我想知道是否有一种方法可以停止对 ajax Controller 的直接访问和查询,并且只允许处理来自页面的合法 ajax 请求。

谢谢。

最佳答案

是的,你可以毫无问题地做到这一点。 CodeIgniter 输入类有一个名为 is_ajax_request() 的方法。只需在 Controller 操作开始时检查这一点。例如:

function ajax_save() {
if ($this->input->is_ajax_request()) {
//continue on as per usual
} else {
show_error("No direct access allowed");
//or redirect to wherever you would like
}
}

如果您有完全为 ajax 调用指定的 Controller ,您可以将该 if 语句放入构造函数 function __construct()对于 Controller 。不过记得先调用 parent::__constructor() !

编辑:至于“源自页面”,您可能应该对您的 ajax 请求进行身份验证 + 安全检查(可能通过 session ,以便您不会访问数据库)。因此,不隶属于您的 web 应用程序的流氓用户无论如何都不应该手动发送 ajax 请求。希望这能回答你的问题。

关于Ajax 请求不对所有人开放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8121997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com