我一直在搞乱剧本,现在我正处于保护部分。
基本上我无法收到$_session['username']
请求。
我不能使用cookies,因为这些可以伪造。这是一个非常大的安全漏洞。
这是一个常见的问题吗?
(非ajax和ajax页面具有相同的session-id,是的。我确实使用session_start();)
如果您知道任何好的评论脚本,如果您想要链接,它将会被评价! c:)
编辑: 用户登录,会话启动。 现在我正在将页面/帖子与修改后的评论脚本相结合。 (见http://tutorialzine.com/2010/06/simple-ajax-commenting-system/) 我所做的是,我使它与多个页面一起工作,并删除了用户和&密码随脚本提供的东西。
请求与此类似:
$ user = $ _session ['username'];
if(!($ data ['user'] = $ user)){ $ errors ['error'] = $ _session ['username']; //只是为了查看它是否可以找到用户名 }
上述请求返回空值,但如果我运行“echo $ _session ['username'];”在调用java的页面上,我得到“powback”。
编辑: 我无法让这个工作,但我做了一个旁路。我设法通过其他类型的验证将$ _session ['username']直接插入数据库。目前的一个是愚蠢的...它应该现在正常工作。谢谢!
答案 0 :(得分:1)
如果不通过cookie,您如何传递会话ID?如果您通过URL传递它(这是一个更大的安全风险),请确保将其传递给您的AJAX请求的URL。
答案 1 :(得分:0)
您可以在任何功能或文档中使用此功能。并更改要发布值的页面名称。
var postRecord = 'variable='+value;
$.post("PHP_Page_Where_you_are_using_session.php", postRecord, function(response,status, xhr){
if (status == "success") {
alert('done');
}
else if (status == "error") {
alert('Something went wrong, we are working to fix it');
}
});
在另一个页面上,您可以在$ _POST ['variable']中获取帖子值;
将变量名称更改为您要使用的另一个变量。
答案 2 :(得分:0)
试试这个
var v="any variable to be passed";
$.post( "passingfile.php",{name:v},
function(data) {
Alert("Pass OK");
});
return false;
});
如果你为了安全,请尝试不要通过url传递会话ID