PHP中check input函数

Introduction

在 PHP 开发中,处理用户输入数据十分关键,因为不良的用户输入可能导致数据的错误或安全问题,这时候就需要输入数据进行验证,这一步的处理也被称为数据验证。我们可以使用各种函数(PHP内置函数或第三方库函数)进行验证,但是为了更好地保护服务器安全以及提高程序的复用性,我们可以手写一个处理用户输入的函数作为一个工具类来进行调用。

Functionality

该 check_input 函数的作用主要有两个:

1. 进行数据过滤,并去除不合法的字符或标签,防止程序遭受灾难性的攻击

2. 检验用户输入是否符合期望的格式

对于第一点,我们可能会使用 PHP 内置函数:strip_tags() 函数,该函数可以过滤掉 HTML 和 PHP 的标签,让请求参数更加安全。对于第二点,检验用户输入是否合法,我们可以使用正则表达式,例如检查手机号码是否符合规范的正则表达式为 ^[1][3-9][0-9]{9}$ 。

Coding

下面是一个检查用户输入的PHP函数的模板,该函数能够通过正则表达式和 strip_tags() 函数来检查和过滤输入数据。函数的输入为请求中的参数 $input 和可选的检查类型 $type,输出为经过过滤后的输入数据。函数如果输入有误则会返回 false 。

```php

function check_input($input, $type=null) {

//过滤 html 和 php 标签

$input = strip_tags($input);

//如果没有设置检查类型,则返回过滤后的输入数据

if($type == null) {

return $input;

}

// 根据检查类型进行相应的检查

if($type == 'phone') {

$pattern = "/^[1][3-9][0-9]{9}$/";

if(!preg_match($pattern, $input)) {

return false;

}

}

//如果输入数据符合要求则返回

return $input;

}

```

我们可以根据需要进一步扩展该函数,例如添加更多的检查类型,如 email ,用户名,密码等。

Usage

现在让我们看一下如何在代码中调用这个函数。

```php

require_once('check_input.php');

//获取输入数据

$phone = $_POST['phone'];

$email = $_POST['email'];

//检查输入数据

$phone = check_input($phone, 'phone');

$email = check_input($email, 'email');

//如果输入错误则返回错误信息

if(!$phone) {

echo "Invalid phone number";

}

if(!$email) {

echo "Invalid email";

}

//继续处理正确的输入数据

?>

```

Conclusion

我们已经手写了一个check_input函数,可以在我们的PHP开发中使用。该函数使用了正则表达式和 strip_tags() 函数,可以检查和过滤用户输入数据。 也可以根据需求扩展该函数,例如加入更多的检查类型,如电子邮件,用户名,密码等。 通过使用该函数,我们可以更好地保护服务器安全,提高程序复用性。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(103) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部