php前台限制输入text字符,html – 限制textarea输入中的某些字符?

如果您使用输入,那么有几个选项可用于type属性,例如颜色,日期,电子邮件,数字,电话.见

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来过滤textarea中的字符,用户仍然可以绕过这个限制(例如,关闭JavaScript).

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

有时您会看到删除特殊字符或术语的剥离例程.这些可能更难以正确,特别是当你试图允许一些特殊条款而不是其他条款时.这种情况通常发生在您要删除像< script>这样的内容的地方.和< iframe>但请留下诸如< strong>之类的内容和< h1>.另一个示例是允许用户使用SQL的子集来过滤搜索结果.

剥离的问题在于,解释器(任何语言 – 您未编写的)都可能识别您没有预料到的命令或语法,并且通过那些您有安全漏洞的语言.这是使用Markdown等限制语言有意义的一个原因,即使HTML可以做同样的事情.

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值