gpt4 book ai didi

html - 限制文本区域输入中的某些字符?

转载 作者:太空狗 更新时间:2023-10-29 14:03:06 25 4
gpt4 key购买 nike

我在网页上有一个文本区域,我想制作它以便人们不能在其中放置某些字符,如 &、*、< 或 >。有什么办法可以用html来做吗?如果没有,我也可以使用 PHP。

最佳答案

如果您使用的是 input然后有几个选项可供您使用 type属性,例如 color, date, email, number, tel .参见 https://developer.mozilla.org/en/docs/Web/HTML/Element/Input .

textarea你没有这些选择。但是,您可以使用 JavaScript 来监听按键事件并忽略某些按键操作。参见 http://jsfiddle.net/tg300eef/ .

var ta = document.getElementById("ta");
ta.addEventListener(
'keypress',
function (e) {
// Test for the key codes you want to filter out.
if (e.keyCode == 60) {
alert('No "<"!');
// Prevent the default event action (adding the
// character to the textarea).
e.preventDefault();
}
}
);

但这并不能保护您免受错误或恶意输入的侵害。也就是说,即使您使用 JavaScript 将字符过滤出文本区域,用户绕过此限制仍然是微不足道的(例如,只需关闭 JavaScript)。

处理必须在其他命令(例如 SQL 查询或 HTTP 请求等)中使用的用户输入的正确方法是使用适当的转义例程。这可能是 mysqli_real_escape_string对于 MySQL 查询,htmlspecialchars用于在 HTML 中嵌入用户输入,urlencode用于 HTTP 请求等。这必须由服务器完成,因为您不能信任客户端(换句话说,用户)为您做这件事。

有时您会看到 stripping 例程会删除特殊字符或术语。这些可能更难做到正确,尤其是当您试图允许一些特殊条款而不是其他条款时。这种情况经常发生在 HTML 中,您想要删除诸如 <script> 之类的内容。和 <iframe>但留下诸如<strong>之类的东西和 <h1> .另一个示例是允许用户使用 SQL 的子集来过滤搜索结果。

剥离的问题是解释器(无论是什么语言——不是您编写的)很可能识别出您没有预料到的命令或语法,并且通过这些您有安全漏洞。这是限制语言(如 Markdown)有意义的原因之一,即使 HTML 可以做同样的事情甚至更多。

剥离的另一个问题是用户可能希望将特殊字符或短语用于其他目的,而不是作为指令。例如,我可能想写 0 < x > 10但 HTML 剥离器可能会将其减少为 0 10不公平。

关于html - 限制文本区域输入中的某些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31280209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com