【问题标题】:Passing ecrypted id in url parameter using javascript使用javascript在url参数中传递加密的id
【发布时间】:2019-05-28 09:00:12
【问题描述】:

谁能告诉我如何使用 JS 在 url 中传递加密的 id,例如 localhost/data?action=23 convert 23 to encrypt

我已经试过了

  • btoa()
  • atob()

但是这些只转换字符串我想在 url 参数中以加密形式转换 id

var action= id;

localhost/data.php?action=encrypt(id)

【问题讨论】:

  • 既然你想加密数据,如果可能的话,最好在正文中传递你的数据,因为它比查询字符串更安全。
  • 什么样的加密??? Base64、ROT13、Triple DES、RSA、AES...有数千种加密方法。

标签: javascript php url


【解决方案1】:
<script>
var encodedData = window.btoa(1); // encode a string
var decodedData = window.atob(encodedData); // decode the string
alert(encodedData);
</script>

您可以尝试以上函数进行编码和解码

【讨论】:

  • 先生,请告诉我如何从其他页面中的 url 访问这些参数,它给了我 (mlf==) 对 id =1
  • var urlParams = new URLSearchParams(window.location.search); var action = urlParams.get('action');
  • 您可以在上面尝试从另一个页面中的 URL 获取操作
  • actual_id = window.atob(action)
【解决方案2】:

为什么需要在 javascript 中加密?如果您想保护数据提交(用户无法更改),您可以使用 oAuth by token。

示例:网址:http://aaa.com/user/delete/23

网址保护:http://aaa.com/user/delete/23/token/aaaaaaaaaaaa...

Step1:登录时,创建一个会话变量“secuKeyInSession” 随机任何东西和md5它。例如:secuKeyInSession = "bbbbbbbb"

Step2:创建链接时,将token参数设为:token = md5(secuKeyInSession . "23" . "user/delete")

Step3:当用户提交或调用链接时,仔细检查和比较。

【讨论】:

    【解决方案3】:

    可以使用crypto-js进行加解密

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 2012-10-16
      • 1970-01-01
      • 2013-09-09
      相关资源
      最近更新 更多