PHP表单验证 -w3school PHP学习笔记

注意:在PHP处理表单时请注意数据的安全性
在处理html表单之前对提交数据进行验证是非常有必要的,能够防止黑客的入侵和垃圾邮件的骚扰。
表单验证实例
上面的html表单假设应用如下的规则:
字段–验证规则
姓名(name)–必填,必须包含字母和空格
邮件(email)–必需,必须包含有效的电子邮件地址,包括@和.
网址(website)–可选填,如果填则必须是有效的url
评论(comment)–可选填,多行输入字段
性别(gender)–必需,选择一项
html代码如下:

</head>
<body>
    <form action='test.php' method='post'>
        姓名:<input type='text' name='name' /><br/>
        电邮:<input type='text' name='email' /><br/>
        网址:<input type='text' name='website' /><br/>
        评论:<textarea name='comment' rows=3 cols=21></textarea><br/>
        性别:<input type="radio" name='gender' value=0 checked='checked'/>女性
        <input type="radio" name='gender' value=1 />男性<br/>
        <input type='submit' value='提交' />

    </form>
</body>
</html>

此表单通过post的方法提交数据
通过PHP验证表单数据:
一般在过滤提交过来的数据时,会用到htmlspecialchars()函数处理数据,它会将html标签字符转换为html实体。例如<和>会被替换为 lt; gt;。这样可以防止攻击者通过在表单中注入html或JS的代码对代码进行利用。
在我们使用了htmlspecailchars()函数后,下面的代码

<script>location.href('http://www.hacked.com')</script>

将会被转义为:

&lt;script&gt;location.href('http://www.hacked.com')&lt;/script&gt;

,现在这个提交的数据就是安全的,它不会对页面代码造成损坏。
另外,我们除了用htmlspecialchar()函数过滤数据外,还要做两件事:

  1. 去除用户输入数据中不必要的字符(如多余的空格,制表符,换行符等),多使用PHP的trim()函数
  2. 删除用户输入数据中的反斜杠(\)使用PHP的stripslashes()函数
    表单数据处理实例:
<?php
$name=$email=$website=$comment='';
$gender=0;
$name=test_input($_POST['name']);
$email=test_input($_POST['email']);
$website=test_input($_POST['website']);
$comment=test_input($_POST['comment']);

function test_input($data){
    $data=trim($data);//去除$data数据两侧多余的空格
    $data=stripslashes($data);//去除$data中的反斜杠
    $data=htmlspecialchars($data);//将html标签转以为html实体
    return $data;
}


?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值