我应该清理android的输入

时间:2013-09-22 13:44:08

标签: android security

用户将键入文本,然后按钮将该文本作为值。用户可以进行XSS注入吗?我应该消毒输入吗?如果是的话怎么样?

这会发生一些事情:http://jsfiddle.net/5q895/

<input type="text" id="asd" />
<input type="submit" id="zxc" onclick="qwe()" />
<script>
function qwe()
{
    document.getElementById("zxc").value=document.getElementById("asd").value;
}
</script>

(用于android,我用JS来说明)

3 个答案:

答案 0 :(得分:2)

如果该输入将被用作按钮的文本,则回答关于不清理用户输入的风险的基本问题。

简短的回答是,没有超出长度的风险,因为长度可能会使按钮弹出预期的布局。

答案 1 :(得分:1)

使用HTML和JavaScript时,输入的恶意文本可能会通过Javacsript改变您的html页面,但这不适用于Android。 Android应用程序采用Java编程,这是一种与JavaScript相对应的编译语言。因此,即使有人输入Java代码,只是代码会显示为Button的标签,但无法执行。

答案 2 :(得分:0)

您应该始终清理用户输入。主要有两个原因。

<强>一

想想你的用户就像那个思想实验,你把一堆猴子放在一个有打字机的房间里,最终,如果有足够的时间,其中一个人会写一些莎士比亚写的东西。稍微以同样的方式,最终你的用户可能(无意中)输入会弄乱你的系统的东西,即使它只是提交按钮。

<强>两个

存在积极尝试弄乱你的系统的人。

这两个一起创建简单的规则always sanitize input,您的系统永远不应期望以预期的格式从外部源获取输入。它应该总是通过某种过滤器来验证。

当谈到你的问题时,我们很少有关于你的系统的信息,以给出任何合理的怀疑。但是,不要指望输入的任何客户端验证就足够了,因为它不是。您还必须验证服务器上的数据。