php用户登录要注意什么方面?

密码要使用MD5(密码+字符串)进行加密。
登录表单的名称不要跟数据库字段一样,以免暴漏表字段。
用户表的表名、字段名、密码尽量用不容易被猜到的。
立即学习“PHP免费学习笔记(深入)”;
要使用验证码验证登陆,以防止暴力破解。
牛NIUCMS本地O2O系统是一个以php+mysql进行开发的o2o网站系统。NIUCMS是一款强大的网站管理系统。支持智慧城市、智慧小区、智慧乡村、本地生活门户、本地O2O平台的构建。请注意以下几点:1、这套源码必须要服务器支持伪静态,是支持.htaccess规则的伪静态,一般Apache服务器支持,别搞的下载回去以后说什么缺 少文件,其实源码并非缺少文件。2、这套源码请在php 5.4环境下
0
验证提交的数据是不是来自本网站。(推荐学习:PHP编程从入门到精通)
登录后台处理代码数据库部分使用预处理,做好过滤,防止sql注入。
例如:它需要处理认证、确认email,更新帐号(密码,email)等事情。
<?php
function user_change_email ($password1,$new_email,$user_name) {
global $feedback,$hidden_hash_var;
if (validate_email($new_email)) {
$hash=md5($new_email.$hidden_hash_var);
file://改变数据库中确认用的无序码值,但不改变email
file://发出一个带有新认证码的确认email
$user_name=strtolower($user_name);
$password1=strtolower($password1);
$sql="UPDATE user SET confirm_hash='$hash' WHERE user_name='$user_name' AND password='". md5($password1) ."'";
$result=db_query($sql);
if (!$result || db_affected_rows($result) < 1) {
$feedback .= ' ERROR - Incorrect User Name Or Password ';
return false;
} else {
$feedback .= ' Confirmation Sent ';
user_send_confirm_email($new_email,$hash);
return true;
}
} else {
$feedback .= ' New Email Address Appears Invalid ';
return false;
}
}
function user_confirm($hash,$email) {
/*
用户点击认证email的相关连接时,连到一个确认的页面,该页面会调用这个函数,
*/
global $feedback,$hidden_hash_var;
file://verify that they didn't tamper with the email address
$new_hash=md5($email.$hidden_hash_var);
if ($new_hash && ($new_hash==$hash)) {
file://在数据库中找出这个记录
$sql="SELECT * FROM user WHERE confirm_hash='$hash'";
$result=db_query($sql);
if (!$result || db_numrows($result) < 1) {
$feedback .= ' ERROR - Hash Not Found ';
return false;
} else {
file://确认email,并且设置帐号为已经激活
$feedback .= ' User Account Updated - You Are Now Logged In ';
user_set_tokens(db_result($result,0,'user_name'));
$sql="UPDATE user SET email='$email',is_confirmed='1' WHERE confirm_hash='$hash'";
$result=db_query($sql);
return true;
}
} else {
$feedback .= ' HASH INVALID - UPDATE FAILED ';
return false;
}
}
function user_send_confirm_email($email,$hash) {
/*
这个函数在首次注册或者改变email地址时使用
*/
$message = "Thank You For Registering at Company.com".
"
Simply follow this link to confirm your registration: ".
"
http://www.company.com/account/confirm.php?hash=$hash&email=". urlencode($email). "
Once you confirm, you can use the services on PHPBuilder.";
mail ($email,'Registration Confirmation',$message,'From: noreply@company.com');
}
?>或许我们在用户认证方面不是采用这种方法,而是采用session等方式,不过这篇文章在如何进行加密和确认方面,还是对我们有所启发的。
以上就是php用户登录要注意什么的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号