商业类网站,普陀区网站建设前端,php 网站开发,做一个网址多少钱目录 知识点
本节大纲思路
——这里以我自己的为例——
cookie验证——————
login1.php-登录后台界面
login_check.php-检查#xff0c;作为包含文件
add_news.php-后台界面
php编码
如何创建 Cookie#xff1f;--setcookie()
语法
实例 1
php header跳转…目录 知识点
本节大纲思路
——这里以我自己的为例——
cookie验证——————
login1.php-登录后台界面
login_check.php-检查作为包含文件
add_news.php-后台界面
php编码
如何创建 Cookie--setcookie()
语法
实例 1
php header跳转
演示案例-cookie验证脆弱问题
session验证——————
session/login.php-管理员登录界面
session/index.php-后台界面
验证码——————
万能密码
验证码 知识点
1-后台验证-登录用户逻辑安全
2-后台验证-cookiesession
3-后台验证-验证码万能密码等 本节大纲思路 ——这里以我自己的为例——
cookie验证—————— login1.php-登录后台界面
——根目录下
————这里注意输入密码的时候一般就进行了MD5加密——不管怎么样提交的数据要与数据库中的一样
——这里我就先不加密了密码
form action methodPOST
帐号input typetext nameuser密码input typepassword namepassinput typesubmit value提交
/form
?php
//header(Content-Type:text/html;charsetutf-8);
header(Content-type: text/html; charsetutf-8);
include(config/conn.php);
$username$_POST[user];
$password($_POST[pass]);//注意MD5加密—————与数据库里的一样就行
//echo $password;
$sqlselect * from admins where username$username and password$password;
//echo $sql;
$resultmysql_query($sql,$conn);
if (mysql_num_rows($result)){echo 成功;header(Location: admin/add_news.php);setcookie(user,$username);
}
else{//echo 失败登录;
}
?
——cookie设置的时候在数据包里会携带账号密码不然直接访问没有携带。 login_check.php-检查作为包含文件
——放config下检验用户的身份为admin还是普通用户
后台页面——先验证登录才进行代码操作防止直接访问
?php
$user$_COOKIE[user];
if($user ! ){ //单个验证cookie可以修改伪造进行攻击。echo 这里就是后台文章添加的页面;}else{echo 你妹的不能进入;}
? add_news.php-后台界面
———放admin目录下admin登录时验证包含了验证文件
?php
header(Content-Type:text/html;charsetutf-8);
//先验证登录再进行代码操作。
//1-cookie验证
//2-session验证
//cookie验证
include(../config/login_check.php);
? php编码
php 编码 ---解决乱码问题
php utf-8编码php页面为url header(Content-type: text/html; charsetutf-8);php gbk编码 header(Content-type: text/html; charsetgb2312);php big5编码 繁体 header(Content-type: text/html; charsetbig5); 如何创建 Cookie--setcookie()
PHP Cookie | 菜鸟教程
setcookie() 函数用于设置 cookie。
注释setcookie() 函数必须位于 html 标签之前。
语法
setcookie(name, value, expire, path, domain);
实例 1
在下面的例子中我们将创建名为 user 的 cookie并为它赋值 runoob。我们也规定了此 cookie 在一小时后过期
?php
setcookie(user, runoob, time()3600);
?
html
.....
注释在发送 cookie 时cookie 的值会自动进行 URL 编码在取回时进行自动解码。为防止 URL 编码请使用 setrawcookie() 取而代之。 php header跳转
php的header函数_php header-CSDN博客
header(Location: RM新时代-首页); //跳转到一个新的地址 演示案例-cookie验证脆弱问题
熊海cms
抓包后在cookie上面修改 ——登录后发现地址栏出现了传参————所以我们给他修改一下——rindex————直接跳转到登录成功的界面。 ————显然不行可能cookie没有通过
——抓包之后——看cookie
源代码 ——————呵呵这里直接修改一下cookie就行了 ——进入后台。
白盒嘿嘿嘿~
黑盒测试就在cookie上面不断伪造就行了........ ————注意cookie的存活时间他是储存到浏览器里面的。 cookie盗取
人家登录状态伪造一下xss利用盗取cookie。
无痕浏览不会储存... session验证——————
打电话一样一方挂了就没了变了。一旦PHPSESSID断了就没了
会话劫持。————人家正在浏览器浏览没有断才能干到。
——登录一次就产生一次储存在服务器。 xxxSESSIONID ---session验证和cookie没联系了专注session session/login.php-管理员登录界面
form action methodPOST帐号input typetext nameuser密码input typepassword namepassinput typesubmit value提交
/form?php
header(Content-Type:text/html;charsetutf-8);
include(../config/conn.php);
$username$_POST[user];
$password$_POST[pass];//注意密码加密
$sqlselect * from admins where username$username and password$password;
$resultmysql_query($sql,$conn);
while($rowmysql_fetch_array($result)){//成功登录后session_start();//产生创建一个会话。$_SESSION[user] $row[username];//将查询结果的值进行赋值。header(Location: index.php);//跳转url,----------这里要特定指向形成前后关联啊。--------------
}
? session/index.php-后台界面
?php
header(Content-Type:text/html;charsetutf-8);
session_start();
$username$_SESSION[user];
if($usernameadmin){echo 欢迎登陆管理员首页;
}else{echo session,您不是管理员;
}
?
验证码—————— 万能密码
万能密码大全-CSDN博客 OR 11# 注释符(过滤掉后边的) --- #
or 或者 两边只要有一个真就行。 验证码
code.php ---生成验证码
?php
session_start();//必须位于脚本的最顶端
$imageimagecreatetruecolor(100, 30);//imagecreatetruecolor函数建一个真彩色图像
//生成彩色像素
$bgcolorimagecolorallocate($image, 255, 255, 255);//白色背景 imagecolorallocate函数为一幅图像分配颜色
$textcolorimagecolorallocate($image,0,0,255);//蓝色文本
//填充函数xy确定坐标color颜色执行区域填充颜色
imagefill($image, 0, 0, $bgcolor);
$captch_code;//初始空值
//该循环,循环取数
for($i0;$i4;$i){$fontsize6;$x($i*25)rand(5,10);$yrand(5,10);//位置随机// $fontcontent$i2?chr(rand(97,122)):chr(rand(65,90));//是小写否则是大写$dataabcdefghijkmnpqrstuvwxyz3456789;$fontcontentsubstr($data,rand(0,strlen($data)-1),1);$fontcolorimagecolorallocate($image,rand(0,100),rand(0,100),rand(0,100));//随机的rgb()值可以自己定
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor); //水平地画一行字符串$captch_code.$fontcontent;
}
$_SESSION[authcode]$captch_code;//将变量保存再session的authcode变量中
//该循环,循环画背景干扰的点
for($m0;$m600;$m){
$x2rand(1,99);$y2rand(1,99);$pointcolorimagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));imagesetpixel($image,$x2,$y2,$pointcolor);// 水平地画一串像素点
}
//该循环,循环画干扰直线
for ($i0;$i10;$i){$x1rand(0,99);$y1rand(0,99);$x2rand(0,99);$y2rand(0,99);$linecolorimagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));imageline($image,$x1,$y1,$x2,$y2,$linecolor);//画一条线段
}
header(content-type:image/png);
imagepng($image);
//销毁
imagedestroy($image);
?
f.php ---引用了验证码code.php
!DOCTYPE html
html langen
head!-- 简单的表单提交代码 --meta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0meta http-equivX-UA-Compatible contentieedgetitle简单验证码的实现/title
/head
body
form methodpost action帐号input typetext nameuser密码input typepassword namepassp验证码图片:img srccode.php onClickthis.srccode.php?nocacheMath.random() stylecursor:hand alt点击换一张/点击图片可更换验证码/pp请输入图片中的内容:input typetext nameauthcode value//ppinput typesubmit width20px height19px value提交/input/p
/form/body
/html?php
include(config/conn.php);
header(Content-type: text/html; charsetutf-8);
// session 存值并匹配用户输入值
if (isset($_REQUEST[authcode])) {session_start();if (strtolower($_REQUEST[authcode])$_SESSION[authcode]) {//strtolower转化为小写的函数echo输入正确;$username$_POST[user];$passwordmd5($_POST[pass]);$sqlselect * from sy_adminuser where username$username and password$password;$resultmysql_query($sql,$conn);if(mysql_num_rows($result)){$rowmysql_fetch_array($result);echo 成功;session_start();$_SESSION[user]$row[username];//讲查询结果的数据进行赋值header(Location: admin/add_news.php);}else{echo 失败;//header(Location: login.php);}# code...}else{echo输入错误;}exit();
}
?
——验证码正确才能进入循环——再看账号密码 防爆破攻击 ------每一次登录验证码都要变 抓包看看验证码是否为一次性~
验证码识别———