使用javascript/mootools清理输入
Input sanitization with javascript/mootools?
我最近继承了一个很大的网站。我一直在检查它的安全漏洞。
我有以下代码,当用户提交更新到他们的用户详细信息时调用:
// Ajax request
new Request.JSON({ method: 'get', url: 'ajax.ashx', autoCancel: true, urlEncoded: false, secure: false,
headers: { "Content-type": "application/json" },
onSuccess: function (_json) {
if (!_json.error) {
$('inp_firstname').value = _json.fn;
$('inp_surname').value = _json.sn;
$('usr_Country').value = $(ddlCountry0).getSelected()[0].get('text');
$('inp_companyname').value = _json.cn;
$('inp_website').value = _json.ws;
$('inp_facebook').value = _json.fb;
$('inp_twitter').value = _json.tw;
$('bus_Activity').value = $(ddlActivity0).getSelected()[0].get('text');
$('private_contacts').value = $(chkPrivateContacts).checked;
hidePopup('editDetailsPopup');
}
}
}).get({ 'm': 'editDetailsPro',
'fn': removeTags($('firstname').value),
'sn': removeTags($('surname').value),
'pwd': removeTags($('password').value),
'country': $(ddlCountry0).getSelected()[0].get('value'),
'cn': removeTags($('companyname').value),
'ws': removeTags($('website').value),
'ac': $(ddlActivity0).getSelected()[0].get('value'),
'pc': $(chkPrivateContacts).checked == 1,
'fb': removeTags($('facebooklink').value),
'tw': removeTags($('twitterlink').value) });
结果表明,函数removeTags();
不做任何事情。也没有服务器端验证输入,所以这是一个很大的安全漏洞。
我需要为客户端检查什么以确保合法用户可以输入他们的数据,是否有库函数将为我做所有这些检查(我找不到任何)?当它到达服务器时,我是将其还原为原始形式,还是按原样将其插入数据库中?
MooTools有stripTags
方法,我想这就是你想要的:http://mootools.net/docs/more/Types/String.Extras#String:stripTags
我可以补充一下,你应该永远不要单独处理吗?始终对传入的用户输入进行服务器端验证和清理。鉴于您使用ASP。. NET,查看此链接:
- http://msdn.microsoft.com/en-us/library/ff647397.aspx
您不应该依赖于客户端验证。这样做很好,这样您就可以在将不正确的数据发送到服务器之前提醒用户,但是您还需要服务器端验证。Javascript可能会被禁用,或者恶意用户可能会向您的服务器发送带有有害数据的请求(不使用您的页面,因此不进行安全检查)。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- jQuery自定义验证比较多个输入的序列
- 只允许使用javascript和mootools在字段中输入int和float
- 如何使用 MooTools 禁用输入字段空间
- 使用 mootools 形成输入元素数组
- 如何使Mootools获取('html'),包括输入字段的值
- 使用javascript/mootools清理输入
- Mootools-集合类型=“;文本“;到具有类型=“0”的输入;密码”;在IE8中不起作用
- 如何使用MooTools设置文本输入的值
- 带有 mootools 的表单输入元素数组