下载鸥 > 网站下载 > 开发教程 > PHP

用户输入过滤的几个方式

104 2024-05-30 07:06:33

收藏
用户输入过滤的几个方式
用户输入过滤是网站安全的首要工作,黑客也往往通过模拟输入实现攻击。
 

filter_var()

filter_var()函数可以校验和过滤各种类型的数据,如邮箱地址、URL、整数等。filter_var()函数过滤此前已经专门讲过,可从这里查看:网站安全之用户输入过滤filter_var()
 

preg_match()

preg_match()函数可用于使用正则表达式对数据进行匹配检查。
$username = $_POST['username'];
if (!preg_match("/^[a-zA-Z0-9]*$/", $username)) {
    // 用户名包含非法字符
}
 

htmlspecialchars()

htmlspecialchars()函数可将特殊字符转换为HTML实体,防止脚本被执行。
$username = $_POST['username'];
echo "Welcome, " . htmlspecialchars($username) . "!";
 

严格模式

严格模式(strict mode)在PHP 7中通过declare(strict_types=1);语句启用,它提供了对变量类型、函数参数和返回值类型的更严格检查。
declare(strict_types=1);
 

预处理语句

预处理语句是防范SQL注入的一种高级方法。预处理语句能够将SQL查询和参数分开处理,避免了恶意代码注入的风险。
$username = $_POST['username'];
$password = $_POST['password'];

$checkUser = $conn->prepare("SELECT * FROM users WHERE username=? AND password=?");
$checkUser->bind_param("ss", $username, $password);//这里的ss是告诉 MySQLi 这两个变量应当被当作字符串类型来处理,其他常用的还有i,即整数类型。举例如qq账号密码,则ss变成is
$checkUser->execute();
$result = $checkUser->get_result();

if ($result->num_rows > 0) {
    //执行下一步操作
}

本文地址:https://xzo.com.cn/develop/php/1218.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP怎样正则匹配段落里的图片并提取图片链接?
PHP怎样正则匹配段落里的图片并提取图片链接?

在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...

19 916
str_replace怎样一次性替换多个值(数组)?
str_replace怎样一次性替换多个值(数组)?

我们知道,str_replace是可以执行替换命令的,但一般是用于一对一替换,这个很好...

1 419
怎样在每次发起请求时重置session_id?
怎样在每次发起请求时重置session_id?

在一些开发场景中,我们需要在每次发起请求后更新重置session_id以同步用户数...

3 375
json数据{}转为php数组[]
json数据{}转为php数组[]

json是使用非常广泛的数据,通过使用json,我们还可以实现多种语言的联动。今天...

0 359
php基础应用:获取今天是星期几并给变量赋值
php基础应用:获取今天是星期几并给变量赋值

在网站的开发过程中,我们经常需要获取今天是星期几,并根据星期的不同而进行不...

0 373
什么是高并发,与CPU,内存,分布式有什么关系
什么是高并发,与CPU,内存,分布式有什么关系

我们在网站开发的过程中经常会接触到高并发这个概念,但高并发到底是什么,具体...

1 366
PHP的for循环为什么只执行了一次就停止了?
PHP的for循环为什么只执行了一次就停止了?

今天有朋友咨询鸥哥,说php写的for循环本来至少要循环9次,但却只执行了一次就...

1 380
简单的php高并发处理方案分享
简单的php高并发处理方案分享

很多互联网公司对并发要求比较高,如果完全依赖服务器性能的提升,则可能会面临...

0 378
推荐插件
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 644
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 699
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1218
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 507
帝国cms纳米数据接口(足球比赛中最新数据)
帝国cms纳米数据接口(足球比赛中最新数据)

帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...

0 267
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 424
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 851
帝国cms自动生成文章新闻目录插件下载
帝国cms自动生成文章新闻目录插件下载

用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...

0 1078
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入