我有一个名为_check_input
的函数。我调用的任何_GET
函数都始终解析为我的_check_input
函数。这样就足以拥有一个完全安全的.php文件,这样我就不会被黑客入侵了吗?
function _check_input($string) {
if (!preg_match("/^[A-Za-z0-9]+$/", $string)) {
echo "ERROR";
exit();
} else {
return htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
}
}
$input = _check_input($_GET['input']);
我的程序所做的只是将输入与我使用file_get_contents
的.json文件进行strcmp。它遍历.json直到找到匹配项。匹配后,它将转到.json中的特定值并打印出来。
PS:我是新程序员
答案 0 :(得分:1)
根据您的评论,我将添加更多详细信息
PDO
与bind parameters
一起使用
(这仅适用于GET请求字符串)对于整个网站安全而言,这还不够。您还应该关注Session Hijacking
,Cross Site Scripting
,Files
(用户上传)
这是带有绑定参数的PDO的示例(有关更多详细信息,请阅读PDO Manual)
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
,这是非常有用的详细信息
以安全方式访问upload files
最后!黑客总是可以找到一种方法来入侵网站。 (这是我的观点和研究)