小弟最近在学习jquery,用php+javascript+jquery写了一段用户注册页面,由于没在网上看到过此类型的方式注册。为确保安全性,特在此请教高手,希望能耐心将我的问题看完并给予指导,小弟在此感激不尽。注册html页面中不用FROM标签。而是用一个带ID的DIV标签。类似于以下代码
<div id=creating>
<input type=hide id=checkcode value='abcdefg'><!--这是随机的验证码字符串,非常长的-->
用户名:<input type=text id=username value=''></br>
密码:<input type=password id=password value=''><br>
<input type=submit id=submit value='注册'>
</div>在页面head中有一js文件监控id为submit的input的动作。当然也引入了jquery.js 然后在后台进行处理。类似以下代码
$('subimt').click(function(){
creating();//执行注册过程
});function creating(){
//为节省空间,就将字段验证取消了,直接贴出提交过程。
$.post('/creating.php?action=creating',{username:$('usrname').val,passowrd:$('password').val,checkcode:$('checkcode').val},function(data){
if(data =='success'){
window.location.href='/managecent.php';//php中返回success字符,表示注册成功,直接跳转到会员中心
}else{
window.alert(data);
}
});
为了简化代码 故将冗长的代码进行了简化,只是提供了注册的方法。请各位高手给予解答。此方法的注册是否有安全方面的隐患。还有问题2:
为了友好用户体验。取消了用户的验证码输入。在注册页面中加入了隐藏验证字符串。也就是将通用的注册中,将验证码中的字符提出来写入到一个id的元素中。creating()自宝义函数会抽取验证字符串提交给php文件。由php后台处理程序进行验证。
请问此种方法可行否?由于水平有限 在文字表达上有些含糊。望各位高手给予帮助。如果可以,后期的开发将源用此方式。
还望各位高手不吝赐教,小弟先在此俯首感谢

解决方案 »

  1.   

    那我这种注册的处理方式,与传统的from提交在安全上有什么实质的区别吗?
      

  2.   

    本质区别就在于js在浏览者的机器计算,结果传给服务器,传统的提交计算是服务器上运行,并得到结果前者可以完全跳过计算,只提交true给服务器
    等于高考在家进行,把答卷交上来,你认为可以这样么?全国人民都不同意……
      

  3.   

    小弟在此非常感谢楼上几位高手的热心与耐心解答。我已基本明白几位高手的意思。小弟愚钝。没将问题解释清楚。现在非常流行AJAX。虽然程序更加繁琐,但是友好了用户操作。
    JS只是作第一步的计算与审核。返回true与false是否将各ID的值提交。
    但是在后台的PHP文件中还有一层计算与审核。从以上分析可以看出 用ajax后台提交与from提交安全否的关键 应该还是看php后面审核