Bagaimana untuk menghalang serangan XSS apabila laravel menggunakan {!!content!!}?
習慣沉默
習慣沉默 2017-05-16 16:48:38
0
1
677

Secara amnya menggunakan {{$article->title}}
但是有时有格式,所以需要这种:
{!!$article->body!!},
Tetapi ini akan membawa kepada serangan xss. Bagaimana untuk menanganinya untuk mengelakkan serangan xss?

習慣沉默
習慣沉默

membalas semua(1)
黄舟

Adalah disyorkan untuk menggunakan Purifier untuk penapisan, dan anda boleh mengkonfigurasi peraturan penapisan.

'encoding' => 'UTF-8',
'finalize' => true,
'preload'  => false,
'cachePath' => null,
'settings' => [
    'default' => [
        'HTML.Doctype'             => 'XHTML 1.0 Strict',
        'HTML.Allowed'             => 'p,b,strong,i,em,a[href|title],ul,ol,li,p[style],br,span[style],img[width|height|alt|src]',
        'CSS.AllowedProperties'    => 'font,font-size,font-weight,font-style,font-family,text-decoration,padding-left,color,background-color,text-align',
        'AutoFormat.AutoParagraph' => true,
        'AutoFormat.RemoveEmpty'   => true
    ],
    'test' => [
        'Attr.EnableID' => true
    ],
    "youtube" => [
        "HTML.SafeIframe" => 'true',
        "URI.SafeIframeRegexp" => "%^(http://|https://|//)(www.youtube.com/embed/|player.vimeo.com/video/)%",
    ],
],

Cara penggunaan

{!! clean($article->body) !!}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan