jjzjj

htmlpurifier

全部标签

PHP 根据字符限制剪切字符串

我正在创建一个使用Faker工厂生成演示数据的博客。我有一个生成的Post模型,它有一个包含随机生成的HTML的body字段以及一个由text字段strong>从正文中剥离标签并将接收到的数据限制512个字符。str_limit工作正常,只是我需要将单词的text剪掉,同时将其保持在512limit内。这是我的工厂:define(Provar\Forum\Post::class,function(Faker$faker){$randomHTML=Purifier::clean($faker->randomHtml(2,3));$trimedHTML=strip_tags($random

php - HTMLPurifier,检查整个 HTML 文档

我正在使用HTMLPurifier检查整个HTML文档中的XSS。问题是它似乎去掉了所有不在里面的东西。标签。但是,我想保留所有内容,只是提防严重的XSS攻击。任何想法如何允许,,等等? 最佳答案 David,我刚刚在HTMLPurifier支持论坛上搜索了一下,发现你很忙。但也许您错过了几个月前的帖子addressesyourexactissue,具体回复:Fulldocumentsupportwill(ostensibly)comesometimeintheHTMLPurifier5.xseries;wedon'tactuall

php - 配置 HTMLPurifier 以将外部链接显示为纯文本

我正在尝试将HTMLPurifier配置为仅将外部链接显示为纯文本。我使用了DisplayLinkURI选项,但它将所有链接显示为纯文本。有什么配置吗?这是我的代码:$mySite='mysite';$externalSite='external';require_once'include/htmlpurifier/library/HTMLPurifier.auto.php';$Config=HTMLPurifier_Config::createDefault();$Config->set('AutoFormat.DisplayLinkURI',true);$purifier=newH

php - HTMLPurifier 破坏图像

我正在尝试对来自WYSIWYG(CK编辑器)的用户输入运行HTMLPurifier,但图像已损坏。未过滤的输入:使用默认设置运行净化器后:我试过更改配置设置;但我永远不会保留src。有什么想法吗? 最佳答案 我怀疑magic_quotes可能是一个原因..?您是否也尝试过$config->set('Core.RemoveInvalidImg',true);。您使用的是哪个版本?(尝试旧的或更新的) 关于php-HTMLPurifier破坏图像,我们在StackOverflow上找到一个类

php - 如果我正在使用 HTMLPurifier,我还需要使用 htmlentities 吗?

我一直在'洒水'htmlentities($user_input,ENT_QUOTES,'UTF-8')在我的整个View中,我到处回显用户有机会在我的应用中输入的数据。这非常乏味,我想知道在我的Controller中使用HTMLPurifier是否可以安全地替代使用htmlentities在每个echo在View上。例如,我注意到HTMLPurifier会单独尝试关闭一个打开的而不是删除它,所以如果一些聪明人把他的名字输入为Johnny和我echo在我看来,它破坏了我的整个布局。但如果我改用htmlentities我一个人得到Johnny并且我的布局被保留。所以我想知道这是否是HTM

php - htmlpurifier,第三方源的过度净化

更新2:http://htmlpurifier.org/phorum/read.php?3,5088,5113作者已经确定了问题。更新:问题似乎是版本4.2.0独有的。我已经降级到4.1.0并且可以正常工作。谢谢你的帮助。通知包的作者。我正在抓取一些页面,例如:http://form.horseracing.betfair.com/horse-racing/010108/Catterick_Bridge-GB-Cat/1215根据W3C验证,它是有效的XHTMLStrict。然后我使用http://htmlpurifier.org/在加载到DOMDocument之前净化HTML。然而,

php - 将 HTML 转换为 ENML

我正在尝试为Gmail编写一个扩展程序,让您可以将邮件另存为Evernote中的便条,但是Evernote的ENMLisprettystrict,因为它不允许外部样式。所以我想做的是这样的--将外部样式转换为内联样式,-验证/平衡标签-净化印象笔记认为具有攻击性的标签因此,在我尝试着手编写上面的解析器之前,有没有人知道已经在做繁重工作的php库?如果没有,如何满足上述要求? 最佳答案 如果唯一有趣的问题是将外部样式转换为内联样式,您可以使用https://github.com/tijsverkoyen/CssToInlineStyl

php - 仅允许 HTML 净化器中类属性中的特定类

我知道我可以在HTMLPurifier中设置允许的标签和最终属性像这样:$cfg->set('HTML.Allowed','a[href|title],'b','em','i','strike');但是我怎样才能禁止与某些预定义值不匹配的任何属性值呢?例如我可能想要允许div+class标签:$cfg->set('HTML.Allowed','div[class],a[href|title],'b','em','i','strike');但仅当类是abc、def或xyz时 最佳答案 设置Attr.AllowedClasses.只限制

php - HTML 净化器保留空间

有没有办法让HTMLPurifier保留通常在呈现的HTML中看到的隐式空间?例如,在以下这些情况下,您通常希望在Foo和Bar之间有一个空格:FooBarExample1FooBarExample2 最佳答案 我有一个残酷的计划-将所有关闭“>”的标签替换为空格并删除双空格testme';$text=preg_replace('/()/','$1',$text);$text=trim(preg_replace('/\s+/','',strip_tags($text)));var_dump($text);返回string(7)"te

php - 在仍然允许 html 的情况下删除 XSS 攻击?

好吧,现在我进退两难了,我需要允许用户插入原始HTML,但也阻止所有JS-不仅仅是脚本标签,还有href等。目前,我所知道的是htmlspecialchars($string,ENT_QUOTES,'UTF-8');但这也会将有效标签转换为编码字符。如果我使用striptags,它也不起作用,因为它删除标签!(我知道你可以允许标签,但问题是如果我允许任何标签,例如,人们可以向它添加恶意JS。我能做些什么来允许html标签但没有XSS注入(inject)吗?我计划了一个功能:xss()并用它设置我网站的模板。它返回转义的字符串。(我只需要帮助转义:))谢谢!