为了账号安全,请及时绑定邮箱和手机立即绑定

自定义 HTML 输入验证

自定义 HTML 输入验证

PHP
汪汪一只猫 2022-01-24 13:01:34
我想允许<img> <strong> <p>站点用户可以使用相同的 HTML 标签,但是如何检查这些标签的滥用情况,例如未关闭的标签<p>可以通过关闭</p>网站主题来匹配并使页面损坏?另外,我会缩短长帖子以显示在索引页面上,这也可能导致标签损坏。Laravel 有一个csrf-token防止跨站点脚本的标签,但似乎没有检查我所说的内容。
查看完整描述

1 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

我不知道这个问题的 laravelish 方式,但您可以使用正则表达式编写自己的验证函数。p这是标签的演示:


// Html code here

$html = 'here'; 


// Strip newlines so we won't need multilines modifiers

$html = str_replace("\r\n", "", $html);


// Strip correct <p>...</p> tags and their content from html data

$html = preg_replace("@<p>.*?</p>@", "", $html);


// Check if any <p> tag remains in data. If so, it means a tag has been unenclosed/enclosed incorrectly

$s[0] = strpos($html, '<p>');

$s[1] = strpos($html, '</p>');


if($s[0] !== false || $s[1] !== false)

    echo "Syntax error in HTML code";


查看完整回答
反对 回复 2022-01-24
  • 1 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信