关于AJAX请求的CakePHP 403
发布时间:2020-12-16 03:12:49 所属栏目:百科 来源:网络整理
导读:我正在尝试使用 AJAX在我的网站上自动填写搜索框.我用firebug来测试我的应用程序.当我尝试搜索某些内容时,Firebug告诉我AJAX请求返回403禁止错误.但是,当我复制AJAX请求中的EXACT URL时,它会返回正确的数据. 编辑: 我认为这必须是JavaScript方面的东西.与普
我正在尝试使用
AJAX在我的网站上自动填写搜索框.我用firebug来测试我的应用程序.当我尝试搜索某些内容时,Firebug告诉我AJAX请求返回403禁止错误.但是,当我复制AJAX请求中的EXACT URL时,它会返回正确的数据.
编辑: 这是$_SERVER变量(我在两个请求中删除了相同的参数)对AJAX请求失败(1)vs输入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 )
我想我找到了解决方案.我将安全级别设置为中等以解决问题.我在config文件夹中找到了这一行.中等安全级别是否会对生产造成任何问题?
/** * 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'); 编辑:这绝对是解决方案.这是发生的事情: 当安全级别设置为高时,将在每次请求时生成新的会话ID. 这意味着当我发出ajax请求时,会生成一个新的会话ID. 如果您保持在同一页面上,JavaScript会发出请求,生成新的session_id,并且不会记录新的session_id. 所有后续的ajax请求都使用旧的session_id,该session_id被声明为无效,并返回空会话. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |