这里共有新手。我正在一个网站上工作,该网站需要一些用户输入,接受输入并将其传递到下一页,此过程大约持续5页。
我的问题是,由于我要传递变量,因此已经声明了一个全局变量,但可以在控制台中的“检查私隐”下直接访问它。(例如,我有一个名为“ activities”的变量,我意识到可以在浏览器的inspect元素上的控制台中键入“ activities”,然后内容就会显示出来,我也可以对其进行编辑)。
这显然是超级不安全的,只是想知道有什么更好的方法来处理这些问题。而且,任何其他常规安全提示都将是不错的选择。我最终将数据传递到数据库中。
下面是我在helper.js中的代码:
var activities = []
function removeA(arr) {
var what, a = arguments, L = a.length, ax;
while (L > 1 && arr.length) {
what = a[--L];
while ((ax= arr.indexOf(what)) !== -1) {
arr.splice(ax, 1);
}
}
return arr;
}
function select_activities(b){
if (b.classList.contains('active')) {
$(b).removeClass('active');
removeA(activities, b.innerHTML);
}
else {
$(b).addClass('active');
activities.push(b.innerHTML);
}
}
这是我的html:
<script src="scripts/helpers.js"></script>
<div class="form-group">
<p>What are the activities you're looking for:</p>
<button class="btn btn-info" type="button" onclick="select_activities(this)">Sports</button>
<button class="btn btn-info" type="button" onclick="select_activities(this)">Music</button>
</div>
不信任的客户就是-不信任。它们应仅用于输入和显示。你不希望它们直接更改的所有操作都应在服务器上完成,或者至少在存储/处理之前在服务器上重新验证。
因此,就你而言,我不必担心全局变量的不安全性,但是一旦提交,我将根据服务器上的业务规则对其进行验证。