gpt4 book ai didi

php - 直接使用 $_POST ["x"] 还是复制到局部变量然后使用?

转载 作者:可可西里 更新时间:2023-11-01 00:53:27 24 4
gpt4 key购买 nike

考虑下面的两个片段,它们本质上做的是一样的。

<html>
<body>
<?php
if(isset($_POST["firstName"]) && isset($_POST["lastName"])){
//I'm copying the POST variable to a local one.
$firstName = $_POST["firstName"];
$lastName = $_POST["lastName"];
echo "<h1>Thank you for taking the census!</h1>";
echo "On behalf of Sergio's Emporium, we name you: " . $firstName . $lastName . ", conquerer of worlds!";
//Here I'm just pulling it from the POST info.
echo "I think that's fitting since you're a " . $_POST["item"];
}
else {
echo "You didn't write in the necesarry information.";
}
?>
</body>
</html>

哪个更好用(从安全的角度来看),哪个是标准鼓励使用的。

因为我是 PHP 的新手,所以这让我的链条很困难。谢谢你们! :)

最佳答案

我想说,从安全的角度来看,这两种解决方案都没有改变任何东西,只要你正确地做:

  • 过滤/验证输入
  • 和转义输出。

在这里,当您输出一些 HTML 时,使用 htmlspecialchars 转义您的数据可能会很有用。 , 例如 ;-)


为了促进这一点,有些人喜欢考虑:

  • $_POST 包含原始输入
  • 和一些局部变量用于包含过滤后的输入——也就是说,您可以在脚本的其余部分“安全地”使用。

关于php - 直接使用 $_POST ["x"] 还是复制到局部变量然后使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2259553/

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