如何隐藏我的HTML表单中的ID?

时间:2017-05-09 08:20:58

标签: javascript jquery html spring-boot thymeleaf

我使用带有百里香的弹簧靴,我希望通过形式传递一些价值观。我想传递的价值之一是" id" (在我的数据库中查找对象并更新某些值)。然而我意识到,当我检查html页面的来源时,我可以改变" id"并将值保存到else id号。我怎么能隐藏自己的身份? (我需要它来调用控制器中的方法)。我的代码如下所示:

<form th:action="@{/set-value}" method="post" th:object="${carDto}">
    <input type="hidden" th:field="*{id}" th:value="*{id}" />
    <input type="text" th:field="*{value}" />
    <button type="submit" class="btn btn-default">Submit</button>
</form>

2 个答案:

答案 0 :(得分:0)

您可以尝试以服务器端加密cookie的形式保存该信息。这样,用户将无法将其更改为有效的其他加密ID(除非他们知道您的应用程序的密钥和类似的东西)。用户仍然可以操纵它,这可能意味着他们可能在您的服务器解密cookie时遇到错误,但该问题仅适用于他们,并且只是因为他们试图操纵数据而他们将无法访问任何他们不应该的数据。

答案 1 :(得分:0)

你应该真正选择用于敏感表单数据处理的PHP /后端内容。但是我试图使用javaScript / jquery隐藏id,但它并没有真正隐藏id;任何有权访问我的javascript文件的人都可以轻松查看代码。

&#13;
&#13;
var btn = document.getElementById("myButton");
btn.addEventListener("click",myFun);

function myFun(){
    $("form input").attr("id","hello");
    console.log($("#hello").val());
    $("form input").removeAttr("id");
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>

<form>
	<input type="text">
	<button id="myButton" type="button">Click</button>
</form>


<script src="script.js"></script>
</body>
</html>
&#13;
&#13;
&#13;

单击按钮时检查开发人员工具。