我需要使用POST方法表单将一些值传递给另一个支付处理器站点。这些值类似于在我的帐户上生成的令牌,我目前正在使用输入类型=“隐藏”的基本表单。并且还有一个变量用sha1加密。但我关心的是它的安全性,因为type =“hidden”,可以在HTML中看到。在这种情况下,这样做的正确方法是什么,一般应该使用什么?我对此非常陌生,所以任何帮助都会受到赞赏。
一段代码:
<?php $digest = SHA1($key . $order_number . $amount . $currency); ?>
<input type="hidden" name="digest" value="<?php echo $digest; ?>">
<input type="hidden" name="authenticity_token" value="123456">
答案 0 :(得分:3)
如果您希望保护传输的数据免受窥探,那么答案不是在PHP或HTML中找到,而是在Web服务器本身中找到。
默认情况下,浏览器和服务器之间的数据是纯文本格式。甚至二进制数据也被编码为纯文本并在另一端进行解码。
保护传输的唯一方法是使用HTTPS作为协议。
这需要以下内容:
https://
代替默认http://
。使用可变编码方法在服务器和浏览器之间加密通信,这使得拦截变得不切实际并且浪费时间。 (当然,没有绝对保证。)
关于你的其他编码,请继续正常进行。设置完成后,加密是自动且透明的。
答案 1 :(得分:0)
如果您只想隐藏用户的数据,可以使用PHP中的会话。
如果您想从ISP获取数据,请阅读@Manngo的答案。他解释了一切。