PHP – 通过表单安全地发送数据,用于各种用户操作

假设我有一个表单根据用户在多状态进程中的当前状态更改其内容(字段和选项).假设它总是导致相同的动作,这意味着动作需要弄清楚发生了什么事件以及在哪个实体上.

<form action='/somecontroller/someaction' method='post'></form>

将此敏感数据传输到控制器的最常用方法是什么?我甚至不愿建议隐藏的字段,因为任何人都可以改变它们.某种双向加密,然后在动作中解密并用于确定服务器端的其余部分?也许序列化敏感信息,对其进行加密,并将其放在表单客户端的单个隐藏字段中,然后在控制器中解密和反序列化?

<?PHP

$hiddenData = unserialize($this->decrypt($_POST['hiddenData'], SALT));
unset($_POST['hiddenData']);
$data = array_merge($hiddenData, $_POST);
...

基本上 – 如何安全地发送带有表单的数据而不将其暴露给外部更改,也就是说,如果更改了某些内容可能会出错?有关于此的某种最佳做法吗?

解决方法:

有趣的问题.我会做的是以下的组合(如果会话不是你的解决方案):

>在序列化表示上使用AES_256 /修改的AES_256 crypt / decrypt
>制作可与存储的哈希值进行比较的变量的MD5 SALT(或类似)哈希,以确定是否发生了任何操作
>使用类似用户的IP作为SALT来生成哈希值或加密函数,因此如果用户的IP应该更改,您就会知道(注意:在某些情况下IP地址可能会发生变化)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...