Re: [请益] PHP验证帐号的方式

楼主: mitsui0309 (比琪老師粉嫩嫩唷~~)   2016-06-01 02:16:07
※ 引述《HwangTW (谷歌翻译王)》之铭言:
: 因公司接触到aspx,而我也发现这东西只要有最高权限的GUID(固定)
: 即使在无痕模式下也能直接登入
: PHP有没有办法可以防范这种GUID攻击方法(我想写的,与公司aspx无关)
: 例如在我的网站下以 index.php 为登入页面 (以 www.example.com 为例)
: 网站之下的分支都得登入后才能观看/操作的
: 即使直接输入 www.example.com/test/test.php
: 1. 未经授权存取
: 直接转到 www.example.com 待使用者输入帐号后
: 在某个 iframe 显示 www.example.com/test/test.php 的内容
: 2. 有授权存取
: 直接转到 www.example.com 并在某个 iframe 显示该内容
: 最后一个问题 cookie 该怎么写QQ
: 在此请教了
这是我A网页带POST过来的验证程式
<?php
$id=$_POST['id'];
$email=$_POST['email'];
$checkcode=$_POST['checkcode'];
if(strtolower($checkcode)!=strtolower($_SESSION['reg_num_check']))
{
echo '<meta http-equiv="content-type" content="text/html;
charset=utf-8"><script>alert("Validate Code Error");history.go(-1);</script>';
exit;
}
if($id!=''&&$email!=''){
$sql="SELECT id FROM `".$_SiteGLOBAL['dbtable']."`.`register` WHERE
id='".$id."' AND email='".$email."'";
$result=mysql_query($sql);
list($id)=mysql_fetch_row($result);
if(empty($id)){//查无资料
echo '<meta http-equiv="content-type" content="text/html;
charset=utf-8"><script>alert("ID or E-mail Error");history.go(-1);</script>';
exit;
}else{
$_SESSION['login_reg']=$id;//纪录session
header('location:../user.php');//到下一页
exit;
}
}else{
echo '<meta http-equiv="content-type" content="text/html;
charset=utf-8"><script>alert("ID or E-mail Error");history.go(-1);</script>';
exit;
}
?>
你先看懂GALINE大大在讲什么,在回头看我这段程式码
至于我这一段,简单的讲就是
叫使用者输入ID跟Email然后丢到数据库去查询
有查到就
$_SESSION['login_reg']=$id;//把查到的ID纪录成session
header('location:../user.php');//到下一页
exit;
没查到就
跳出错误讯息"ID or E-mail Error"
作者: tkdmaf (皮皮快跑)   2016-06-01 09:43:00
sql injection??????
作者: MOONRAKER (㊣牛鹤鳗毛人)   2016-06-01 11:43:00
injection.用了 " 何必再用 .
作者: marcoyan (日本滑雪募集中)   2016-06-06 11:09:00
不太懂为什么用了"不能用. ?这有关系吗@@
作者: vu0ru043 (麦茶)   2016-06-06 11:35:00
是不是Sql那段 直接用双引号把字串跟变量括入就好因为双引号内的变量会输出变量的值

Links booklink

Contact Us: admin [ a t ] ucptt.com