当我应用sneek / laravel-xss-middleware时,ckeditor中的数据不会插入到db

问题描述 投票:0回答:1

当我从ckeditor更新数据并且它没有正确保存到数据库时它只保存文本,但是在我应用sneek / laravel-xss-middleware后,表格div和内联样式没有保存。什么xss中间件不影响文本编辑器?我试过别人,但它无法阻止xss。有人可以推荐吗?

我使用htmlpurifier后仍然使用nessus扫描网页以确保安全性:

CGI通用HTML注入(快速测试)

概要远程Web服务器可能容易进行HTML注入。

描述远程Web服务器托管的CGI脚本无法使用恶意JavaScript充分清理请求字符串。通过利用此问题,攻击者可能能够在受影响站点的安全上下文中的用户浏览器中执行任意HTML。

远程Web服务器可能容易受到IFRAME注入或跨站点脚本攻击:

  • IFRAME注射允许“虚拟污损”,可能会吓到或使愤怒的用户感到愤怒。有时会针对“网络钓鱼”攻击实施此类注入。
  • XSS由其他四个脚本进行了广泛测试。
  • 某些应用程序(例如Web论坛)授权HTML的子集而没有任何不良影响。在这种情况下,请忽略此警告。
laravel ckeditor xss
1个回答
0
投票

我经常使用HTMLPurifier

完成以下步骤1.install

composer require "mews/purifier:~2.0"

2.设置

 php artisan vendor:publish --provider="Mews\Purifier\PurifierServiceProvider"

配置/ 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,
        ],
    ],
];
  1. 使用 $ article-> body = clean($ article-> body,'body');

希望对你有用!

© www.soinside.com 2019 - 2024. All rights reserved.