[原创]ajax 实现用户注册功能教程四
//[原创]ajax 实现用户注册功能教程四
本教程由本站原创,转载请注明来处
作者:www.111cn.net
邮箱:drise@163.com
QQ:271728967
//
现在是最后一步了,那就是注册了,这里就不多写了,只要会php的都能实现了.
各位有什么意见请直接留言评论.
下次写个ajax的文件文件平管理系统
以前我们刚写PHP的时候,做后台,需要管理员身份认证。一般用COOKIE这么做的,特别是刚接触PHP的PHP爱好者:
admin/login.php
if(用户名&&密码正确) {
setcookie('admin',1,time()+36400);
echo '登录成功';
}
if($_COOKIE[admin] == 1) {
echo '有权限';
}
但是这样会造成很大的安全隐患,很多浏览器可以直接修改COOKIE,或者直接在系统里修改。
只要伪造cookie,那么管理权限就拿到了
为了安全,这么做:
if(用户名&&密码正确) {
setcookie('userid',用户在系统中的ID,time()+36400);
setcookie('userpass',用户在系统中的32位md5密码,time()+36400);
echo '登录成功';
}
判断权限的时候这么做:
if($_COOKIE[userid]) {
$query = mysql_query(select * user table where userid = '$_COOKIE[userid]' and userpass = '$_COOKIE[userpass]');
$row = mysql_fetch_array($query);
if($row[rank] <> 1) {
echo '没有权限';
}
}
这样伪造cookie就没有任何作用了
//[原创]ajax 实现用户注册功能教程三
本教程由本站原创,转载请注明来处
作者:www.111cn.net
邮箱:drise@163.com
QQ:271728967
//
现在到了第三步,我们来写type.php文件,这个文件的作用是判断用户名是否存在,再然后数据给用户.
<?php
header("Content-type:text/html;charset=gb2312");//为了不让其出现乱码所以把文档编码设置为gb2312
$xm=Strreplace(isset($_GET['txt'])?$_GET['txt']:'null');//取得用户名
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $xm)){//判断用户名第一个是否为汉字,
echo("<div id='phperblog_showinfo_red'>对不起,不能使用中文作为用户名! </div>");
exit();
}
if($xm=='null' || $xm=='' || strlen($xm)>10 || strlen($xm)<3){//判断用户名的合法性
echo("<div id='phperblog_showinfo_red'>对不起,你输入的用户名不合法,用户由3-10Aa_zZ及数字组成! </div>");
exit();
}else{
$result=mysql_query("select uname from tablename where uname='$xm' ") or die('Error !'."Error system busy.....plase wait!");
if(!mysql_num_rows($result)){
echo("<div id='phperblog_showinfo_reg'>恭喜你!用户名".$xm."还未注册,你可以注册! </div>");
}else{
echo("<div id='phperblog_showinfo_red'>对不起,用户己注册请选择其它名称!</div>");
}
}
?>
[原创]ajax 实现用户注册功能教程二','
//
本教程由本站原创,转载请注明来处
作者:www.111cn.net
邮箱:drise@163.com
QQ:271728967
//
上面第一个reg.php文件己经做好了,我就来做第二步
var xmlHttp = false;
function ajaxcreate(){//这里是创建xmlhttpt对像
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest != \\\'undefined\\\') {
xmlHttp = new XMLHttpRequest();
}
if(!xmlHttp){alert(\\\'Create Xmlhttp Fail \\\');return false;}
}
function ajax(){//这里是接到reg.php onblur()事件后要进行的操作,
ajaxcreate();
var xmvalue=document.getElementById("xm").value;
var url="/boke/blog/type.php?txt="+encodeURI(xmvalue);
if (xmvalue== null || xmvalue.length>20 || xmvalue == "") return false;
xmlHttp.open("POST",url,true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(xmvalue);
xmlHttp.onreadystatechange=returnstate;
}
function returnstate(){
if(xmlHttp.readyState != 4 ){
document.getElementById("divxm").innerHTML="<div id=\\\'phperblog_showinfo_red\\\'><font color=red>正在验证中,请稍后...</font></div>";
}
if(xmlHttp.readyState == 4 ){
document.getElementById("divxm").innerHTML=xmlHttp.responseText;
}
}
//
本教程由本站原创,转载请注明来处
作者:www.111cn.net
邮箱:drise@163.com
QQ:271728967
//
第一步我们来创建一个注册文章reg.php
第二步就是写js文件
第三步就是在用户名框使用onblur()调用type.php文件
第四步就是check.php实现文件
下面废话就不多说了,我们来建立文章reg.php代码如下[测试页面http://www.111cn.net/reg.php]
<table width="100%" border="0" cellspacing="0">
<form name="form1" id="form1" method="post" action="/boke/blog/check.php">
<tr>
<td height="28" colspan="5"><div id="reglist">让你不再为写博客而写博客,我们让你写的文章变成你想要的东西!</div></td>
</tr>
<tr>
<td height="43" colspan="3" align="left" valign="bottom"> <img src="/boke/blog/Pic/st-0136.gif" width="16" height="16" /><span class="style6">[注:带<span class="style1">*</span>号的为必须填项]</span> </td>
<td width="323"> </td>
<td width="248"> </td>
</tr>
<tr class="tb">
<td width="108" height="40" align="right" class="tb">用户名(<span class="style3"><span class="style1">*</span></span>):</td>
<td colspan="2" align="left" class="tb"><input name="xm" type="text" id="xm" size="15" onblur="ajax();" />
</td>
<td width="323" class="tb" ><div id="divxm">
<div id="bothlist">请填写你的帐号!</div>
</div></td>
<td width="248" class="tb" > </td>
</tr>
<tr class="tb">
<td width="108" height="40" align="right" class="tb">性别(<span class="style3"><span class="style1">*</span></span>):</td>
<td colspan="2" align="left" class="tb"><select name="sex" id="sex">
<option value="1">男</option>
<option value="0">女</option>
</select></td>
<td width="323" class="tb" ><div id="bothlist">请选择你的性别!</div></td>
<td width="248" class="tb" > </td>
</tr>
<tr>
<td width="108" height="40" align="right">用户密码(<span class="style3"><span class="style1">*</span></span>):</td>
<td colspan="2" align="left"><input name="rpwd" type="password" id="rpwd" size="15" onblur="checkuser();" /></td>
<td width="323" rowspan="2" id="divpwd" ><div id="bothlist">请填写您的密码,长度在6-10位之间!</div></td>
<td width="248" rowspan="2" id="divpwd" > </td>
</tr>
<tr>
<td width="108" height="40" align="right">再输入一次密码(<span class="style3"><span class="style1">*</span></span>):</td>
<td colspan="2" align="left"><input name="rpwd1" type="password" id="rpwd1" size="15" onblur="checkuser();" /></td>
</tr>
<tr class="tb">
<td width="108" height="40" align="right" class="tb">密码提示问题(<span class="style3"><span class="style1">*</span></span>):</td>
<td colspan="2" align="left" class="tb"><select name="safe" id="safe">
<option value="我最喜欢的动物是什么?">我最喜欢的动物是什么?</option>
<option value="我高中学校叫什么名字?">我高中学校叫什么名字?</option>
<option value="我女朋友的名字叫什么?">我女朋友的名字叫什么?</option>
<option value="我最喜欢的人是谁?">我最喜欢的人是谁?</option>
</select></td>
<td width="323" class="tb"> </td>
<td width="248" class="tb"> </td>
</tr>
<tr>
<td width="108" height="40" align="right">提示问题答案(<span class="style3"><span class="style1">*</span></span>):</td>
<td colspan="2" align="left"><input name="safean" type="text" id="safean" size="15" onblur="checkuser();" /></td>
<td width="323" id="divda" ><div id="bothlist">请填写您的答案,找回密码需要确认.例如:我叫张三!</div></td>
<td width="248" id="divda" > </td>
</tr>
<tr class="tb">
<td width="108" height="40" align="right" class="tb">您的电子邮箱(<span class="style3"><span class="style1">*</span></span>):</td>
<td colspan="2" align="left" class="tb"><input name="email" type="text" id="email" size="15" onblur="checkuser();" /></td>
<td width="323" class="tb" id="divemail"><div id="bothlist">请正确填写你的邮箱地址!</div></td>
<td width="248" class="tb" id="divemail"> </td>
</tr>
<tr>
<td width="108" height="40" align="right">验证码(<span class="style3"><span class="style1">*</span></span>):</td>
<td width="79" align="left"><input name="rver" type="text" id="rver" size="7" onblur="checkuser();" /></td>
<td width="122" align="left"><img src="/boke/blog/inc/verlog.php" onclick="this.src='/boke/blog/inc/verlog.php';" /><span class="read">点击图片刷新</span></td>
<td width="323" id="divyz"><div id="bothlist">请按左边的图输入验证码,如不清楚可点击图片刷新验证码!</div></td>
<td width="248" id="divyz"> </td>
</tr>
<tr align="left">
<td width="108" height="40" class="tb"> </td>
<td height="40" colspan="4" class="tb"><input name="cbox" type="checkbox" id="cbox" value="1" checked="checked" />
<span class="phperblog_photo style4"><a href="#" class="name"><<我同意本站服务条款>></a></span></td>
</tr>
<tr>
<td width="108" height="40"> </td>
<td height="40" colspan="2" align="left"><input name="imageField" type="image" src="/boke/blog/Pic/an0159.gif" width="149" height="27" onclick=" return checkuser();" border="0" /></td>
<td width="323" height="40" align="left"> </td>
<td width="248" align="left"> </td>
</tr>
<tr>
<td width="108" height="28"> </td>
<td height="28" colspan="2"> </td>
<td width="323" height="28"> </td>
<td width="248"> </td>
</tr>
</form>
</table>
相关文章
- php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
- php语言实现redis的客户端与服务端有一些区别了因为前面介绍过服务端了这里我们来介绍客户端吧,希望文章对各位有帮助。 为了更好的了解redis协议,我们用php来实现...2016-11-25
- 有时我们在页面上需要选择数值范围,如购物时选取价格区间,购买主机时自主选取CPU,内存大小配置等,使用直观的滑块条直接选取想要的数值大小即可,无需手动输入数值,操作简单又方便。HTML首先载入jQuery库文件以及jRange相关...2015-03-15
- 本文实例讲述了JS实现的简洁纵向滑动菜单(滑动门)效果。分享给大家供大家参考,具体如下:这是一款纵向布局的CSS+JavaScript滑动门代码,相当简洁的手法来实现,如果对颜色不满意,你可以试着自己修改CSS代码,这个滑动门将每一...2015-10-21
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
jQuery+slidereveal实现的面板滑动侧边展出效果
我们借助一款jQuery插件:slidereveal.js,可以使用它控制面板左右侧滑出与隐藏等效果,项目地址:https://github.com/nnattawat/slideReveal。如何使用首先在页面中加载jquery库文件和slidereveal.js插件。复制代码 代码如...2015-03-15- 翻板抽奖的实现流程:前端页面提供6个方块,用数字1-6依次表示6个不同的方块,当抽奖者点击6个方块中的某一块时,方块翻转到背面,显示抽奖中奖信息。看似简单的一个操作过程,却包含着WEB技术的很多知识面,所以本文的读者应该熟...2015-10-21
SQLMAP结合Meterpreter实现注入渗透返回shell
sqlmap 是一个自动SQL 射入工具。它是可胜任执行一个广泛的数据库管理系统后端指印, 检索遥远的DBMS 数据库等,下面我们来看一个学习例子。 自己搭建一个PHP+MYSQ...2016-11-25Ruby on Rails实现最基本的用户注册和登录功能的教程
这里我们主要以has_secure_password的用户密码验证功能为中心,来讲解Ruby on Rails实现最基本的用户注册和登录功能的教程,需要的朋友可以参考下...2020-06-30- 当来访者浏览器语言是中文就进入中文版面,国外的用户默认浏览器不是中文的就跳转英文页面。 <?php $lan = substr( $HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == "zh-cn") print("<meta http-equiv='refresh' c...2015-11-08
- 【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
- 复制代码 代码如下: // 第一种写法 $da = date("w"); if( $da == "1" ){ echo "今天是星期一"; }else if( $da == "2" ){ echo "今天是星期二"; }else if( $da == "3" ){ echo "今天是星期三"; }else if( $da == "4"...2013-10-04
- 一个用Javascript检测用户输入密码强度的效果代码,以下代码主要是从以下四个方面检测用户输入的密码的强度的,有兴趣的朋友可以自己添加或修改成自己想要的形式! 1. 如果输入的密码位数少于5位,那么就判定为弱。 2. 如果...2015-10-23
- 这是注册程序是一款当用户输入完用户名是,就会自动去数据库中查询用户要注册的用户名是否己经被注册了,如果是返回提示否则提示可以注册。 conn.php文件 代...2016-11-25
- js里面设置DOM节点透明度的函数属性:filter= "alpha(opacity=" + value+ ")"(兼容ie)和opacity=value/100(兼容FF和GG)。 先来看看设置透明度的兼容性代码: 复制代码 代码如下: function setOpacity(ele, opacity) { if (...2014-06-07
- 这篇文章主要为大家详细介绍了Android实现简单用户注册案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-05-26
- 本文我们需要解决的问题是如何实现Http请求来实现通信,解决Android 2.3 版本以后无法使用Http请求问题,下面请看正文。 Android开发中使用HttpClient来开发Http程序...2016-09-20
- 这篇文章主要给大家介绍了关于微信小程序用户授权最佳实践的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-08
- 复制代码 代码如下:call PROCEDURE_split('分享,代码,片段',',');select * from splittable;复制代码 代码如下:drop PROCEDURE if exists procedure_split;CREATE PROCEDURE `procedure_split`( inputstring varc...2014-05-31
- cookie 的用途之一是存储用户在特定网站上的密码和 id。另外,也用于存储起始页的首选项。在提供个人化查看的网站上,将要求阁下的网络浏览器利用阁下计算机硬驱上的少量...2016-11-25