作者mitsui0309 (比琪老师粉嫩嫩唷~~)
看板PHP
标题Re: [请益] PHP验证帐号的方式
时间Wed Jun 1 02:16:07 2016
※ 引述《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"
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.214.194
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1464718574.A.370.html
1F:→ tkdmaf: sql injection?????? 06/01 09:43
2F:→ MOONRAKER: injection. 06/01 11:43
3F:→ MOONRAKER: 用了 " 何必再用 . 06/01 11:44
感谢提醒,这是我四年前刚学PHP的程式,难免会有许多不周的地方
因为这次主要是讲session,所以就没想那麽多,就直接贴上来了
※ 编辑: mitsui0309 (1.160.214.194), 06/01/2016 23:55:53
4F:→ MOONRAKER: Totally out-of-date X( 06/02 09:36
5F:→ marcoyan: 不太懂为什麽用了"不能用. ?这有关系吗@@ 06/06 11:09
6F:推 vu0ru043: 是不是Sql那段 直接用双引号把字串跟变数括入就好 06/06 11:35
7F:→ vu0ru043: 因为双引号内的变数会输出变数的值 06/06 11:36