gpt4 book ai didi

AJAX 请求的 CakePHP 403

转载 作者:行者123 更新时间:2023-12-01 11:06:19 26 4
gpt4 key购买 nike

我正在尝试使用 AJAX 自动完成我网站上的搜索框。我正在使用 Firebug 来测试我的应用程序。当我尝试搜索某些内容时,Firebug 告诉我 AJAX 请求返回了 403 forbidden 错误。但是,当我复制 AJAX 请求中的 EXACT URL 时,它会返回正确的数据。

编辑:我认为这必须是 JavaScript 方面的事情。与普通请求相比,AJAX 请求是否可以省略任何 header ?

这是失败的 AJAX 请求中的 $_SERVER 变量(我删除了两个请求中相同的参数)(1)与输入 URL 并且有效(2):

(1)

2011-04-02 13:43:07 Debug: Array
(
[HTTP_ACCEPT] => */*
[HTTP_COOKIE] => CAKEPHP=0f9d8dc4cd49e5ca0f1a25dbd6635bac;
[HTTP_X_REQUESTED_WITH] => XMLHttpRequest
[REDIRECT_REDIRECT_UNIQUE_ID] => TZdgK654EmIAAEjknsMAAAFG
[REDIRECT_UNIQUE_ID] => TZdgK654EmIAAEjknsMAAAFG
[REMOTE_PORT] => 60252

[UNIQUE_ID] => TZdgK654EmIAAEjknsMAAAFG
[REQUEST_TIME] => 1301766187
)

(2)

2011-04-02 13:44:02 Debug: Array
(
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_COOKIE] => CAKEPHP=d8b392a5c3ee8dd948cee656240fd5ea;
[REDIRECT_REDIRECT_UNIQUE_ID] => TZdgYq54EmIAAF7zt6wAAAJJ
[REDIRECT_UNIQUE_ID] => TZdgYq54EmIAAF7zt6wAAAJJ
[REMOTE_PORT] => 60281

[UNIQUE_ID] => TZdgYq54EmIAAF7zt6wAAAJJ
[REQUEST_TIME] => 1301766242
)

最佳答案

我想我找到了解决方案。我将安全级别设置为中来解决这个问题。我在配置文件夹中找到了这一行。中等安全级别是否会给生产带来任何问题?

/**
* The level of CakePHP security. The session timeout time defined
* in 'Session.timeout' is multiplied according to the settings here.
* Valid values:
*
* 'high' Session timeout in 'Session.timeout' x 10
* 'medium' Session timeout in 'Session.timeout' x 100
* 'low' Session timeout in 'Session.timeout' x 300
*
* CakePHP session IDs are also regenerated between requests if
* 'Security.level' is set to 'high'.
*/
Configure::write('Security.level', 'medium');

编辑:这绝对是解决方案。这是发生了什么:

当安全级别设置为高时,每次请求都会生成一个新的 session ID。

这意味着当我发出 ajax 请求时,将生成一个新的 session ID。

如果您停留在同一页面上,JavaScript 会发出一个请求,该请求会生成一个新的 session_id,但不会记录新的 session_id。

所有后续的 ajax 请求都使用一个旧的 session_id,它被声明为无效,并返回一个空 session 。

关于AJAX 请求的 CakePHP 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5507568/

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