我有一个小问题就在这里,我不能修复,这个帖子经过,但响应返回“500内部服务器错误”
谁解决?
在CI论坛搜索后,我发现这此链接笨,CSRF保护与-阿贾克斯 ,但我不能用it.can解决任何一个帮助我吗?
我有一个小问题就在这里,我不能修复,这个帖子经过,但响应返回“500内部服务器错误”
谁解决?
在CI论坛搜索后,我发现这此链接笨,CSRF保护与-阿贾克斯 ,但我不能用it.can解决任何一个帮助我吗?
你应该在你的AJAX POST请求,以获得行动工作CSRF关键。
但是,你只得到的数据,因此使用method:'get'
,而不是method:'post'
应该做的伎俩,让你的要求工作。
看到这个问题上,当使用POST以及何时使用GET精彩的讨论
如果你是,的确,打算过帐数据到服务器,并抱怨缺乏CSRF关键的,有两种方法将其添加到该请求:
使用插件,以允许原型提取从被由笨设置的跨站请求伪造的cookie中的数据; 这可能是更优雅,但会增加多一点你的总脚本; 这里有一个关于如何访问原型饼干更详细后http://codeinthehole.com/writing/javascript-cookie-objects-using-prototype-and-json/
如果你把从现有的形式这一要求,它应该有一个包含密钥,您将能够简单的东西,如访问隐藏输入字段var csrf = $("input[name=csrf_key]").val();
(这是jQuery的语法,但我敢肯定的原型版本不太远)。 如果没有在页面形式,只写一个echo form_open(); form_close();
echo form_open(); form_close();
某处,以确保隐藏字段得到由CI打印出来。
最后,请确保您发送的值旁边的POST请求,以确保你是谁不希望hackz0r服务器很酷的家伙。 你应该将此参数添加到JS Ajax请求:
parameters: {'csrf_key' : csrf}
下CSRF是您获取的密钥(从cookie或隐藏输入)变量。 确保名称是正常的! 如果您要提取的饼干,确保饼干名称与一组一致config/config.php
。 这同样适用于输入令牌!
希望这可以帮助!