php留言系统(2),php留言系统
1、参照之前的(mvc框架总结)将整体框架定下来之后,那么请求默认参数将变为:
//默认请求首页://P=front//C=fIndex//A=show
1.1 找到控制器fIndexController下的动作:
//首页展示动作
publicfunction showAction()
{//防止恶意调用
$this->checkAuthority();//不需要具体模型,直接载入模版
require CUR_VIE_PATH.'index.html';
}
2、防止恶意调用这一块放于我们的Controller层面,所有模型几乎都要用到,因此将其放于基础模型,、
/** 防止恶意调用方法,适用于全部方法*/
protectedfunction checkAuthority()
{if(!defined('IN_NG'))
{
exit("you no authority");
}
}
随时调用该方法
3、拒绝php低版本,由于总是在运行,所以直接放入初始文件Framework.class.php
4.1将 CSS做成包含文件
每个页面都要导入CSS,着实麻烦,我们定一个文件title.inc.html。
但是每个页面却有一个不相同的CSS,那么可以定义一个常量来证明本页。
define('SCRIPT','index');
Your Title
php
require'application/view/front/title.inc.html'
?>
其中title.inc.html代码
"shortcut icon" href="favicon.ico" />
"stylesheet" type="text/css" href="public/front/css/1/basic.css" />
"stylesheet" type="text/css" href="public/front/css/1/.css" />
5.2 创建注册页面register.html
参数请求为:
请求注册页
P=front
C=fRegister
A=show
代码为:
"register">
会员注册
"post" action="post.php">
请认真填写一下内容
用 户 名:"text" name="username" class="text" />(*必填,至少两位)
密 码:"password" name="password" class="text" />(*必填,至少六位)
确认密码:"password" name="notpassword" class="text" />(*必填,同上)
密码提示:"text" name="passt" class="text" />(*必填,至少两位)
密码回答:"text" name="passd" class="text" />(*必填,至少两位)
性 别:"radio" name="sex" value="男" checked="checked" />男"radio" name="sex" value="女" />女
class="face">
"public/front/face/m01.gif" alt="头像选择"οnclick="javascript:window.open('face.php','face','width=400,height=400,top=0,left=0')" />
电子邮件:"text" name="email" class="text" />
Q Q :"text" name="qq" class="text" />
主页地址:"text" name="url" class="text" value="http://" />
验 证 码:"text" name="yzm" class="text yzm" />
"submit" class="submit" value="注册" />
5.3点击头像弹出选择头像框:
"public/front/face/m01.gif" alt="头像选择"οnclick="javascript:window.open('face.php','face','width=400,height=400,top=0,left=0')" />
这个页面存放着64 张头像页面,可以通过数组循环的方式罗列出来
foreach (range(1,9) as $number) {?>"face/m0.gif" />
6.提交数据
将数据提交到本页,必须做一个名值对,用来判断是否提交了数据。
?action=register
也可以设计一个隐藏字段来做名值对
type="hidden"name="action"value="register"
/>
6.1核对验证码
验证码的用途是为了防止恶意注册和一些表单伪造跨站攻击等。
验证码里保存在session 里面,可以判断是否是当前表单提交,而刷新一次后验证码随
即变化,又可以防止多次恶意注册。
if (!($_POST['yzm'] == $_SESSION['code'])) {
_alert_back('验证码有误,请重新输入!');
}
6.2.接受数据
设计变量,将数据提交出来赋值给变量
$_username=$_POST['username'];
也可以通过一个数组来存放提交过来的值
$_clean=array();
$_clean['username']=$_POST['username']
6.3各种限制与过滤
1.首先,必须去掉两边的空格
$_string= trim($_string);
2.其次长度限制if (mb_strlen($_string,'utf-8') < $_min_num || mb_strlen($_string,'utf-8') > $_max_num)
3.敏感字符限制
$_char_pattern= '/[<>\'\"\ \ ]/';if (preg_match($_char_pattern,$_string)) {}
4.敏感用户名限制
$_mg[0] = '22';
$_mg[1] = '11';
$_mg[2] = '33';foreach ($_mg as$value) {
$_mg_string .= '['.$value.']'.'\n';
}if(in_array($_string,$_mg)) {
_alert_back($_mg_string.'以上敏感用户名不得注册!');
}
5.转义输入,有效防止SQL 注入问题//mysql_escape_string();//addslashes()
return mysql_real_escape_string($_string); //这个mysql_是需要连接数据库的
http://www.bkjia.com/PHPjc/970605.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/970605.htmlTechArticlephp留言系统(2),php留言系统 1、参照之前的(mvc框架总结)将整体框架定下来之后,那么请求默认参数将变为: // 默认请求首页: // P...