【问题标题】:How to encode parameter in ajax request?如何在ajax请求中编码参数?
【发布时间】:2020-09-05 16:36:33
【问题描述】:

我有一个选择字段,

<form:form id="mediaForm" method="post" role="form">
 <table>
 <tr id="state" style="display: none;">     
                <td>
                    <form:select path="sCode" id="sCode"
                        onchange="getAllLists(this.id,'${contextPath}/main/getList.do','dCode','aCode')">
                        <form:option value="" label="--- Select ---" />
                        <form:options items="${state}" />
                    </form:select>
                </td>                            
        </tr>
        </table>
        </form:form>

单击此字段时,正在调用另一个列表。现在,当我拦截这个请求并将状态的值更改为用户 = 03 选择的状态值时,不会显示任何错误。 我想对var val = $('#' + new_id).val(); 进行编码并在控制器上对其进行解码,这样没有人可以在两者之间进行更改?请建议。尝试了 encodeURIComponent 但它对 url 进行编码,我想对值进行编码 state = 01 ;

function getAllLists(new_id, url, second_name,
        image_value) {
    var val = $('#' + new_id).val();

    $.ajax({
                url : url,
                dataType : 'json',
                data : {
                    state : val
                },
                success : function(data) {
                    $('#' + image_value).empty();
                    $('#' + image_value)
                            .append(new Option('Select...', ''));
                    $.each(data.list, function(arrID, group) {
                                $('#' + image_value).append(new Option(
                                                group.desc, group.code));

                            });
                    $('#' + image_value).val("A");

                }
            });
}

某种参数污染攻击。

【问题讨论】:

    标签: java jquery ajax


    【解决方案1】:

    如果我理解得很好:您担心的是安全问题。

    HTTPS 已经在做加密工作了。

    如果你不使用HTTPS,在没有第三方提供密钥的情况下,客户端加密的问题是这种方式不私密,因此不安全。

    每个人都可以访问服务器提供给客户端的代码。 这意味着可以看到服务器提供的加密密钥,因此,中间人只需要使用他们希望您请求的值来复制加密。

    最终,您可以尝试在客户端第一次连接到服务器时将加密密钥提供给客户端,然后在整个连接中使用它。它减轻了问题,但并没有消除它。

    密码提示:加盐的 sha256 听起来不错。

    【讨论】:

      猜你喜欢
      • 2020-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      相关资源
      最近更新 更多