繁体   English   中英

如何阻止html和javascript输入到您网站的文本框中?

[英]How can you stop html and javascript from being entered into text boxes on your site?

我一直是为公司开发Web应用程序的自由职业者,我意识到,在任何文本框中,您都可以键入html标签或javascript行,这显然很成问题,因为我不想让用户能够做一些看起来或功能混乱的事情。 有没有一种方法可以确保无法将html / javascript写入文本框?

最好的方法是假设所有发布或通过URI发送到服务器的数据都是恶意的,直到您明确检查它是否不是恶意的(Perl实际上具有异味模式来强制执行此操作),并验证接收到的数据是否有效。所需的数据类型。 您不应(仅)依靠客户端进行验证,因为恶意用户可能会在不实际使用前端的情况下提出特殊请求。

尽管我没有很多有关该问题的信息,但我还是会尝试的,所以对我好! (请提供更多信息)

HTML或Javascript具有一些通用表达式,您可以通过编写自定义javascript验证程序将其从文本字段中排除。

您应该验证任何用户输入(文本框等)。 例如,这意味着如果您要输入数字,那么您要检查用户输入是否为数字,并拒绝其他输入。

您不能(也不应)“禁止编写HTML / JavaScript”,而必须 “检查输入是否符合您的期望”。

您应该在要使用输入后立即对其进行验证。 如果您有某种类型的inputkeypresskeyup或类似的事件处理程序,则应在使用之前验证数据。

另外,您不应将用户数据作为HTML注入。 例如,不要使用element.innerHTML = data; 而是使用element.textContent = data; 因此数据不会解析为HTML,而只会作为文本注入。 (如果您使用的是jQuery,请使用$(...).text(data)而不是$(...).html(data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM