当我从ckeditor更新数据并且没有正确保存到数据库时,它仅保存文本,但是在应用sneek / laravel-xss-middleware之后,表div和内联样式没有保存。 什么不影响文本编辑器的xss中间件? 我尝试了其他方法,但无法阻止xss。 有人可以推荐吗?
使用htmlpurifier后,我仍使用nessus扫描网络以确保安全性
CGI通用HTML注入(快速测试)
简介 远程Web服务器可能易于注入HTML。
说明 远程Web服务器承载的CGI脚本无法使用恶意JavaScript充分清理请求字符串。通过利用此问题,攻击者可能能够在受影响站点的安全上下文内的用户浏览器中执行任意HTML。
远程Web服务器可能容易受到IFRAME注入或跨站点脚本攻击的攻击:
IFRAME注射允许“虚拟污损”,这可能吓倒或激怒易受骗的用户。有时会针对“网络钓鱼”攻击实施此类注入。
XSS还通过其他四个脚本进行了广泛的测试。
某些应用程序(例如,网络论坛)授权HTML的子集而没有任何不良影响。在这种情况下,请忽略此警告。
答案 0 :(得分:0)
我经常使用HTMLPurifier
完成以下步骤 1.安装
composer require "mews/purifier:~2.0"
2。设置
php artisan vendor:publish --provider="Mews\Purifier\PurifierServiceProvider"
config / purifier.php
<?php
return [
'encoding' => 'UTF-8',
'finalize' => true,
'cachePath' => storage_path('app/purifier'),
'cacheFileMode' => 0755,
'settings' => [
'body' => [
'HTML.Doctype' => 'XHTML 1.0 Transitional',
'HTML.Allowed' => 'div,b,strong,i,em,a[href|title],ul,ol,ol[start],li,p[style],br,span[style],img[width|height|alt|src],*[style|class],pre,hr,code,h2,h3,h4,h5,h6,blockquote,del,table,thead,tbody,tr,th,td',
'CSS.AllowedProperties' => 'font,font-size,font-weight,font-style,margin,width,height,font-family,text-decoration,padding-left,color,background-color,text-align',
'AutoFormat.AutoParagraph' => true,
'AutoFormat.RemoveEmpty' => true,
],
],
];
使用
$ article-> body = clean($ article-> body,'body');
希望对您有用!