请用php写出一个通用于get,post请求的安全方法
时间: 2023-03-21 15:02:06 浏览: 68
为了确保Web应用程序的安全性,可以使用以下PHP代码来过滤所有的GET和POST请求中的输入数据:
```php
function sanitizeInput($input) {
// 去除字符串首尾空格
$input = trim($input);
// 转义特殊字符
$input = htmlspecialchars($input, ENT_QUOTES, 'UTF-8');
// 去除反斜杠
$input = stripslashes($input);
// 返回过滤后的值
return $input;
}
// 过滤GET请求的所有输入
foreach ($_GET as $key => $value) {
$_GET[$key] = sanitizeInput($value);
}
// 过滤POST请求的所有输入
foreach ($_POST as $key => $value) {
$_POST[$key] = sanitizeInput($value);
}
```
上述代码定义了一个名为`sanitizeInput()`的函数,该函数过滤所有输入数据,以确保其安全性。该函数首先使用`trim()`函数去除字符串首尾的空格,然后使用`htmlspecialchars()`函数转义特殊字符,以防止跨站点脚本(XSS)攻击。接着使用`stripslashes()`函数去除反斜杠,以避免SQL注入攻击。
然后,使用`foreach`循环遍历`$_GET`和`$_POST`数组中的所有键值对,并调用`sanitizeInput()`函数来过滤每个值。最后,更新`$_GET`和`$_POST`数组中的值,以确保所有输入数据均已过滤。
使用该函数,可以确保Web应用程序在接收到任何输入数据之前都对其进行了过滤和转义,从而避免了一些常见的安全漏洞。