人们使用PHP会话登录随机用户帐户
发布时间:2020-12-13 17:07:07 所属栏目:PHP教程 来源:网络整理
导读:我一直抱怨用户互相登录.他们甚至可以编辑他们的个人资料并作为他们发布…这显然是一个巨大的问题.甚至没有注册的人正在访问该网站并看到他们以其他人身份登录. 这种情况发生在Safari和Firefox中 当人们使用$_SESSION [‘variable’] = name登录时,会设置我
我一直抱怨用户互相登录.他们甚至可以编辑他们的个人资料并作为他们发布…这显然是一个巨大的问题.甚至没有注册的人正在访问该网站并看到他们以其他人身份登录.
这种情况发生在Safari和Firefox中 当人们使用$_SESSION [‘variable’] = name登录时,会设置我的会话;系统,非常标准.会话是跨子域使用: ob_start(); session_set_cookie_params(0,'/','.subverb.net'); session_start(); 在我所有页面的标题中. 我有一个iframe,它包含网站的聊天部分,该部分也包含相同的标题 我不知道我能提供什么其他信息,所以请问.我真的需要这个来排序但不确定问题是什么! 谢谢 回应如下: 标准登录脚本直接取自Larry Ullman教科书: if ($un && $p) { // If everything's OK. // Query the database. $query = "SELECT member_id,member_firstname,member_type,username FROM member WHERE (username='$un' AND password=SHA('$p')) AND active IS NULL"; $result = mysqli_query ($dbc,$query) or trigger_error ("query: $queryn<br />MySQL Error: " . mysqli_error($query)); if (@mysqli_num_rows($result) == 1) { // A match was made. // Register the values & redirect. $row = mysqli_fetch_array($result,MYSQLI_ASSOC); mysqli_free_result($result); $_SESSION['member_id'] = $row['member_id']; $_SESSION['first_name'] = $row['member_firstname']; $_SESSION['member_type'] = $row['member_type']; $_SESSION['username'] = $row['username']; facebook登录脚本执行以下操作: $query = "SELECT * FROM member WHERE oauth_prov = 1 AND fb_userid = ".$user['id']; $result = mysqli_query ($dbc,$query) or trigger_error ("query: $queryn<br />MySQL Error: " . mysqli_error($dbc)); if(mysqli_num_rows($result) == 1 ) { while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {; $_SESSION['first_name'] = $row['member_firstname']; $_SESSION['member_id'] = $row['user_id']; $_SESSION['oauth_uid'] = $row['fb_userid']; $_SESSION['username'] = $row['username']; 所有输入都已清理,用户无法通过其他方式添加详细信息.用户名和密码正常添加,facebook id通过单击执行脚本的链接从Facebook获得. 这些错误发生在登录过程之后,或者登录甚至没有发生.没有其他地方在网站上设置会话值. 解决方法
我会检查记录用户漏洞的数据库例程.您确定它正在选择适当的用户并且只选择适当的用户吗?您是否测试过您的select语句是否不受不同用户输入方案的影响?鉴于它在页面加载中持续存在,几乎可以肯定是$_SESSION问题.假设您在登录时加载有关用户的信息,那么问题是在登录期间出现了$_SESSION变量的初始填充.因此,您一定要检查登录脚本以确保它是可靠的.
您可能想要发布登录脚本的其他部分,因此我们可以查看漏洞/问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- php中解决各种应用的乱码问题
- Symfony模板的快捷变量用法实例
- 关于PHP二进制流 逐bit的低位在前算法(详解)
- php – SSH似乎不能在通过Web服务器调用的bash脚本中运行
- PHP错误Warning: Cannot modify header information - head
- php 调试利器debug_print_backtrace()
- PHP数组中头部和尾部添加元素的方法(array_unshift,array_p
- php中get_headers函数的作用及用法的详细介绍
- php – 如何在dom pdf中包含外部样式表
- php 出现Strict Standards: Only variables should be pass