Php 如何以最小或最大安全性从隐藏字段中获取值

Php 如何以最小或最大安全性从隐藏字段中获取值,php,html,Php,Html,我正在努力解决这个问题 我需要得到价值观​​从形式 下面的代码一切都很好 <?php $var = 'Test-123';?> <form action="go.php" method="post"> <input type="hidden" name="name" value="<?php echo $var;?>" /> <input va

我正在努力解决这个问题 我需要得到价值观​​从形式 下面的代码一切都很好

<?php $var = 'Test-123';?>
<form action="go.php" method="post">
<input type="hidden" name="name" value="<?php echo $var;?>" />
<input value="GO_SUBMIT" type="submit">
</form>
go.php文件

<?php echo $_POST["name"]; ?>
但我的问题是价值观​​形式不安全 例如,如果我使用防火袋 在值窗体区域中,我可以发送其他值 虽然它是隐藏的 有没有一种方法可以出于安全目的禁用或加密此功能
你应该使用编码技术。与PHP base64_编码函数类似。例如:

<?php
       $str = 'This is an encoded string';
       echo base64_encode($str);
?>
输出: vGHPcYbPcYbBbMnVzgVkiHn0cmlUZW==


因此,没有人可以将垃圾发送到损坏的数据。

表单值始终对客户端可见。表单信息位于用户浏览器中。让我们来谈谈你的价值观改变部分。表单值是可变的。如果不想更改某个静态变量,则需要将该值放入服务器上的会话中,在用户提交表单后,可以进行服务器端验证。想要更改表单值的用户,也可以通过curl请求来进行更改。你无法避免它们。但是,您可以使用csrf令牌进行外部表单提交。作为总结,请执行服务器端验证以确保信任不可更改的表单值

我可以使用base64_解码,然后对更改的值进行编码并发送。这不是解决方案,因为所有浏览器都会显示您的请求,如在Chrome或FireFox中。获取安全数据的唯一方法是请求,我们使用加密数据然后发送。base64编码易于检测,您需要执行服务器端验证什么是最强的加密?否则您可以在phpSSL中使用SHA1,过滤和验证所有用户输入。