gpt4 book ai didi

javascript - 将类似哈希的字符串转换为哈希和安全风险

转载 作者:数据小太阳 更新时间:2023-10-29 07:53:28 24 4
gpt4 key购买 nike

我正在使用 JavaScript 将用户输入转换为看起来像散列数组的字符串,并将其传递给 Rails 表单中的隐藏字段。 IE。像这样的东西被传递到我的 Controller :

<input id="UserHash" name="UserHash" type="hidden" value="[{ :payer_id => 1, :amt => 90.00}, { :payer_id => 2, :amt => 80.00}, { :payer_id => 4, :amt => 20.00}]">

我正在使用 eval(params[:UserHash]) 将其转换为我可以使用的哈希。我是否通过使用 eval() 完全破坏了安全性?如果是这样,有没有一种方法可以检查传递的字符串是否为哈希数组?任何关于我正在做的事情的意见都将不胜感激。我使用 JS 传递哈希数组的原因是因为我的表单收集有关可变长度集合(一组可变的付款人)的数据。

最佳答案

您最好的选择是改用 JSON。

这正是 JSON 设计的场景。在 Javascript 中创建一个 JSON 字符串并在 Ruby 中解析它

require 'json'

string = '[{"payer_id":1,"amt":90.0},{"payer_id":2,"amt":80.0},{"payer_id":4,"amt":20.0}]'
data = JSON.parse(string)

它将把你的字符串变成一个哈希数组。

注意,如果您希望按键是符号,请使用

data = JSON.parse(string,:symbolize_names=>true)

关于javascript - 将类似哈希的字符串转换为哈希和安全风险,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14165450/

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