PHP+MySql搭建微型博客系统 (下)

PHP学习 cyanprobe 10年前 (2015-07-04) 4821次浏览 已收录 3个评论

前言:

距离上一节笔记已经过去N天了,最近在KFC打工,藏在后厨,那个价值¥7的蛋挞一出来,口水根本止不住。最近也是比较忙,要时刻捍卫更衣室的安全,我真的是太正直,无私,正义了,我从来不去黑什么更衣室的摄像头,这是真话。
上一节课:PHP+MySQL开发实例 微型博客系统 (上)。(其实只要熟悉上节课,基本语法就没多大问题了)
2015-07-04_180824

课程开始:

表单验证Javastript浅识:

先放个新东西,JavaScript 脚本用来判断用户是否填写标题内容。(提交表单验证)

 //涉及js语句
<form action="X.php" method="post" name="myform" onsubmit="return CheckPost();" >
//脚本内容
<SCRIPT language=javascript>
function CheckPost() {
if( myform.user.value="" ){alert("你特么没写用户名"); myform.user.focusc();
return false; }    if (myform.title.value.length<4){
alert("标题最少3个字,你眼瞎啊?"); myform.title.focus(); return false;
} }
</SCRIPT>

2015-07-04_163041
 
上图我已经标出注释了,我们构造了一个javascript自定义函数 checkpost();来帮助我们判断。

字符串替换函数的应用:

str_replace(被替换的值,替换的值,被替换的内容; 这里我们尝试构建个 codeforhtml 函数来把计算机的空格和换行转换为HTML页面能识别的 &nbsp; 和 <br> 。

<?php
function codeforhtml($content){
$content=str_replace("/n","<br>",str_replace(" ","&nbsp;",$content););
return $content  } //上一行我们用re_place嵌套分别进行了两步替换, return意思是我们把$content的值返回给了自定义函数。
?>

这一部分我们用来对input信息内的信息进行转化为HTML标签信息。

MD5加密及COOKIE建立:

MD5函数是分散列计算函数,可以用来进行文件核实,字符串加密转换等用途。(注意山东大学王小云教授并没有破解MD5,MD5至今为止还是安全的。)点击这里查看MD5被“破解”骗局!
函数运用 md5(“加密内容”);  结果为一串字母与数字的组合。

//COOKIE For PHP 建立方法:
setcook("cook名","cook值","保存时间","路径",".cyanprobe.com",true);
注意:.cyanprobe.com 这里填写的是起效域名,比如说你在blog.cyanprobe.com登陆那么cyanprobe.com是否也可使用这个COOKIE?
".cyanprobe.com"意思是允许二级域名与主域名COOK共用,最后一个true是是否发送到https(安全协议)
//取出COOKIE值方法
$a=$_COOKIE['cook名'];//结合IF判断值是否正确我们就可以输出不同的登录了,未登录的内容 。建议先对COOKIE值加密,以防COOKIE欺骗。

PHP需要刷新当前页面后,COOKIE才能生效。(考虑到安全问题)

上述方法用来实现网页信息传递过程中的安全问题,比如你在本地输入密码 “1234”,这时候如果服务端与用户端进行明文比较的话是非常危险的,用户信息可能会被明文截取。而MD5加密后,如果你截取信息的话 只能得到“52d04dc20036dbd8”这种MD5密文,MD5是不可逆的——就算对方知道了MD5密文也不能推断出明文进行前台登录!
COOKIE的作用:方便登陆,一段时间内发送信息无需多次登录验证。


CyanProbe , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP+MySql搭建微型博客系统 (下)
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(3)个小伙伴在吐槽
  1. 专业内容,我就不下口了。祝博主早日开发完工。分享互联网世界。
    wys.me2015-07-04 21:51 回复
  2. 能得到MD5密文就够了,SQL注入也就是得到密文,但和常用的都是可以解的52d04dc20036dbd8 对应的 就是1234即使进行加密 但是 每个字符串对应的 md5密文是不变了
    小幻2015-07-08 09:27 回复
    • cyanprobe
      得到明文就可以社工获得用户其他平台信息,毕竟不仅要保证自己,更要保证用户的安全
      凶恶的方块2015-07-08 12:03 回复