gpt4 book ai didi

javascript - 我是否应该重新验证已在 javascript 中验证的 php 中的表单输入

转载 作者:行者123 更新时间:2023-12-01 02:28:46 25 4
gpt4 key购买 nike

我知道 JavaScript 验证仅用于客户端,并防止服务器端出现漏洞,我需要验证 php 中输入的安全性。

我已经验证了用户可以从客户端(使用 JavaScript)在表单中输入哪些类型的输入,如下例所示:

if(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(document.getElementById(idName).value)){
return true;
}else{
return false;
}

我已经在 php 中的表单输入上进行了以下测试:

$fname = $lname = $saddress = $city = $state = $zip = $email = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$fname = test_input($_POST["fname"]);
$lname = test_input($_POST["lname"]);
$saddress = test_input($_POST["saddress"]);
$city = test_input($_POST["city"]);
$state = test_input($_POST["state"]);
$zip = test_input($_POST["zip"]);
$email = test_input($_POST["email"]);
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}

我是否还需要使用正则表达式重新验证用户能够在 php 中再次以表单输入什么类型的输入?或者在服务器端使用 htmlentities 就足够了,而在客户端使用正则表达式验证?

非常感谢任何信息!

谢谢,艾尔

最佳答案

始终验证服务器端的所有内容。由于每个人都可以使用 Findbugs 或 Chrome 工具等工具通过浏览器更改您的 javascript 客户端代码,因此仅在 Javascript 中进行验证并不安全。

您在客户端验证的只是为了给用户提供更好的体验。

关于javascript - 我是否应该重新验证已在 javascript 中验证的 php 中的表单输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29742463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com