第28课留言系统9代码
1、 增加register.func.php内容
/**
* _check_email() 检查邮箱是否合法
* @access public
* @param string $_string 提交的邮箱地址
* @return string $_string 验证后的邮箱
*/
function _check_email($_string) {
//参考bnbbs@163
//[a-zA-Z0-9_] => \w
//[\w\-\.] 16.3.
//\.[\w+] .net了。
//正则表达式可以直接套用
if (empty($_string)) {
return null;
} else {
if (!preg_match('/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/',$_string)) {
_alert_back('邮件格式不正确!');
}
}
return $_string;
}
/**
* _check_qq ....
* @access public
* @param int $_string
* @return int $_string QQ号码
*/
function _check_qq($_string) {
if (empty($_string)) {
return null;
} else {
//123456
if (!preg_match('/^[1-9]{1}[\d]{4,9}$/',$_string)) {
_alert_back('QQ号码不正确!');
}
}
1
return $_string; } /** * _check_url 网址验证 * @access public * @param string $_string * @return string $_string 返回验证后的网址 */ function _check_url($_string) { if (empty($_string) || ($_string == '')) { return null; } else { //ww.abc60 //?表示0次或者一次 if (!preg_match('/^https?:\/\/(\w+\.)?[\w\-\.]+(\.\w+)+$/',$_string)) { _alert_back('网址不正确!'); } } return $_string; }
2、增加register.php内容
$_clean['sex'] = $_POST['sex'];
$_clean['face'] = $_POST['face'];
$_clean['email'] = _check_email($_POST['email']);
$_clean['qq'] = _check_qq($_POST['qq']);
$_clean['url'] = _check_url($_POST['url']);
3修改register.php
验 证 码: //为了防止恶意注册,跨站攻击
_check_code($_POST['code'],$_SESSION['code']);
4增加函数global.func.php
function _check_code($_first_code,$_end_code) { if ($_first_code != $_end_code) {
2
_alert_back('验证码不正确!'); } }
5修改register.func.php function _check_question函数
function _check_question($_string,$_min_num,$_max_num) {
$_string = trim($_string);
//长度小于4位或者大于20位
6 global.func.php增加函数
/** * _mysql_string * @param string $_string * @return string $_string */ function _mysql_string($_string) {
//get_magic_quotes_gpc()如果开启状态,那么就不需要转义
if (!GPC) {
return mysql_real_escape_string($_string);
}
return $_string;
}
7 common.inc.php修改
//创建一个自动转义状态的常量
define('GPC',get_magic_quotes_gpc());
8修改register.func.php将所有的函数返回都使用_mysql_string函数
//将用户名转义输入
return _mysql_string($_string);
//将密码返回
return sha1($_first_pass);
//返回密码提示
return _mysql_string($_string);
//加密返回
return _mysql_string(sha1($_answ));
return _mysql_string($_string);
3
9修改register.func.php if (!function_exists('_mysql_string')) {
exit('_mysql_string()函数不存在,请检查!');
}
10修改register.php
$_clean = array(); //可以通过唯一标识符来防止恶意注册,伪装表单跨站攻击等。 //这个存放入数据库的唯一标识符还有第二个用处,就是登录cookies验证 $_clean['uniqid'] = _check_uniqid($_POST['uniqid'],$_SESSION['uniqid']); //active也是一个唯一标识符,用来刚注册的用户进行激活处理,方可登录。 $_clean['active'] = _sha1_uniqid(); print_r($_clean); } else { $_SESSION['uniqid'] = $_uniqid = _sha1_uniqid(); }
上一篇:
PHP5&;Apache_php代码
下一篇:
【3月31日-4月1日】“2018中国人保购车节暨第九届郑州国际汽车博览会”即将上线,现在抢票还送“钱”!