Laravel5でXSSクロスサイト攻撃を防ぐ方法
本文实例讲述了Laravel5中防止XSS跨站攻击的方法。分享给大家供大家参考,具体如下:
Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HTMLPurifier 防止 XSS 跨站攻击。
1、安装
HTMLPurifier 是基于 PHP 编写的富文本 HTML 过滤器,通常我们可以使用它来防止 XSS 跨站攻击,更多关于 HTMLPurifier的详情请参考其官网:http://htmlpurifier.org/。Purifier 是在 Laravel 5 中集成 HTMLPurifier 的扩展包,我们可以通过 Composer 来安装这个扩展包:
composer require mews/purifier
安装完成后,在配置文件config/app.php的providers中注册HTMLPurifier服务提供者:
'providers' => [ // ... Mews\Purifier\PurifierServiceProvider::class, ] 然后在aliases中注册Purifier门面: 'aliases' => [ // ... 'Purifier' => Mews\Purifier\Facades\Purifier::class, ]
2、配置
要使用自定义的配置,发布配置文件到config目录:
php artisan vendor:publish
这样会在config目录下生成一个purifier.php文件:
return [ 'encoding' => 'UTF-8', 'finalize' => true, 'preload' => false, 'cachePath' => null, 'settings' => [ 'default' => [ 'HTML.Doctype' => 'XHTML 1.0 Strict', 'HTML.Allowed' => 'div,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/)%", ], ], ];
3、使用示例
可以使用辅助函数clean:
clean(Input::get('inputname'));
或者使用Purifier门面提供的clean方法:
Purifier::clean(Input::get('inputname'));
还可以在应用中进行动态配置:
clean('This is my H1 title', 'titles'); clean('This is my H1 title', array('Attr.EnableID' => true));
或者你也可以使用Purifier门面提供的方法:
Purifier::clean('This is my H1 title', 'titles'); Purifier::clean('This is my H1 title', array('Attr.EnableID' => true));
php防止xss攻击
<?PHP function clean_xss(&$string, $low = False) { if (! is_array ( $string )) { $string = trim ( $string ); $string = strip_tags ( $string ); $string = htmlspecialchars ( $string ); if ($low) { return True; } $string = str_replace ( array ('"', "\\", "'", "/", "..", "../", "./", "//" ), '', $string ); $no = '/%0[0-8bcef]/'; $string = preg_replace ( $no, '', $string ); $no = '/%1[0-9a-f]/'; $string = preg_replace ( $no, '', $string ); $no = '/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S'; $string = preg_replace ( $no, '', $string ); return True; } $keys = array_keys ( $string ); foreach ( $keys as $key ) { clean_xss ( $string [$key] ); } } //just a test $str = 'jb51.net<meta http-equiv="refresh" content="0;">'; clean_xss($str); //如果你把这个注释掉,你就知道xss攻击的厉害了 echo $str; ?>
希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。
更多Laravel5中防止XSS跨站攻击的方法相关文章请关注PHP中文网!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravel におけるクロスサイト スクリプティング (XSS) およびクロスサイト リクエスト フォージェリ (CSRF) からの保護 インターネットの発展に伴い、ネットワーク セキュリティの問題はますます深刻になってきています。その中でも、Cross-SiteScripting (XSS) と Cross-SiteRequestForgery (CSRF) は、最も一般的な攻撃手法の 1 つです。 Laravel は、人気のある PHP 開発フレームワークとして、ユーザーにさまざまなセキュリティ メカニズムを提供します。

PHP を使用してクロスサイト スクリプティング (XSS) およびリモート コード実行攻撃を防御する方法 はじめに: 今日のインターネットの世界では、セキュリティが重要な問題となっています。 XSS (クロスサイト スクリプティング) 攻撃とリモート コード実行攻撃は、最も一般的なセキュリティ脆弱性の 2 つです。この記事では、PHP 言語を使用してこれら 2 つの攻撃を防御する方法を検討し、Web サイトをこれらの攻撃から保護するためのいくつかの方法とテクニックを提供します。 1. XSS 攻撃を理解する XSS 攻撃とは、攻撃者が Web サイトに悪意のあるスクリプトを挿入してユーザーの個人情報を取得することを指します。

PHP は Web サイト開発で広く使用されているプログラミング言語ですが、PHP を使用して Web サイトを開発する場合、セキュリティの問題が心配になることがよくあります。そのうちの 1 つは、一般的なネットワーク セキュリティの脆弱性であるクロスサイトスクリプティング (XSS) です。この問題を解決するために、PHP はいくつかの安全な XSS フィルタリング テクノロジを提供します。この記事では、PHP における安全な XSS フィルタリング テクノロジの原理と使用法を紹介します。まず、XSS 攻撃とは何なのかを理解する必要があります。 XSS攻撃

PHP および Vue.js 開発のベスト プラクティス セキュリティ: XSS 攻撃の防止 インターネットの急速な発展に伴い、ネットワーク セキュリティの問題はますます重要になってきています。その中でも、XSS (クロスサイト スクリプティング攻撃) は、Web サイトのセキュリティの脆弱性を悪用してユーザーに悪意のあるコードを挿入したり、Web ページのコンテンツを改ざんしたりすることを目的とした、非常に一般的なタイプのネットワーク攻撃です。 PHP および Vue.js の開発では、XSS 攻撃を防ぐためにいくつかのセキュリティのベスト プラクティスを採用することが非常に重要です。この記事では、XSS 攻撃を防ぐために一般的に使用されるいくつかの方法を紹介し、対応するコードを提供します。

1. 反射型 XSS 反射型 XSS とは、アプリケーションが Web リクエストを通じて信頼できないデータを取得し、そのデータに悪意のあるコードが含まれているかどうかを確認せずに Web ユーザーに送信することを意味します。リフレクト XSS は通常、URL に悪意のあるコード パラメーターを使用して攻撃者によって構築されます。URL アドレスが開かれると、固有の悪意のあるコード パラメーターが HTML によって解析され、実行されます。非永続性が特徴であり、ユーザーは URL をクリックする必要があります。特定のパラメータとのリンクが原因となる可能性があります。エディターは、例として JAVA 言語ソース コードを使用して、CWEID80:ImproperNeutralizationofScript- AssociatedHTMLTagsinaWebPage(BasicXSS)2 を分析します。

1 テスト環境の概要 テスト環境は、OWASP 環境の DVWA モジュールです。 2 テストの説明 XSS は、クロスサイト スクリプティング攻撃である CSS (CrossSiteScript) とも呼ばれます。悪意のある攻撃者が Web ページに悪意のある HTML コードを挿入することを指し、ユーザーがそのページを閲覧すると、Web に埋め込まれた HTML コードが実行され、ユーザーの Cookie を取得するなど、ユーザーに対する悪意のある攻撃という特別な目的が達成されます。 . 悪意のある Web サイトに移動し、攻撃などを実行します。この脆弱性は、攻撃者によって悪用され、認証されたユーザーのセッションをハイジャックされる可能性があります。認証されたセッションをハイジャックした後、ウイルスの発信者はその許可されたユーザーのすべての権限を持ちます。 3. テスト ステップ: 入力ボックスに JavaScript スクリプト コードを入力します: al

近年、インターネット情報技術の急速な発展により、私たちの生活はますますインターネットと切り離せないものになっています。ネットワークと私たちの日常生活との相互作用は、大量のコードの作成、送信、処理と切り離すことができません。そして、これらのコードはセキュリティを保護する必要があります。そうしないと、悪意のある攻撃者がそれらを使用してさまざまな攻撃を開始することになります。これらの攻撃の 1 つは XSS 攻撃です。この記事では、PHP における XSS 攻撃に焦点を当て、対応する防御方法を示します。 1. XSS 攻撃の概要 XSS 攻撃は、クロスサイト スクリプティング攻撃とも呼ばれ、通常、

PHP は、Web アプリケーションの開発で広く使用されている、一般的に使用されるサーバー側プログラミング言語です。しかし、その人気と使いやすさにより、PHP は攻撃者の標的の 1 つにもなっています。最も一般的な攻撃の 1 つは、クロスサイト スクリプティング (略して XSS) です。この記事は、PHP における XSS 攻撃とその防御のガイドラインを紹介することを目的としています。 1. XSS 攻撃の定義 クロスサイト スクリプティング攻撃 (XSS) は、攻撃者が悪意のある HTML または Javascript コードを「挿入」することにより、ユーザーのブラウザ上で悪意のある操作を実行することを指します。
