php教程 PHP开发 Laravel5에서 XSS 사이트 간 공격을 방지하는 방법

Laravel5에서 XSS 사이트 간 공격을 방지하는 방법

Dec 20, 2016 pm 03:54 PM
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 (&#39;"&#39;, "\\", "&#39;", "/", "..", "../", "./", "//" ), &#39;&#39;, $string );
 $no = &#39;/%0[0-8bcef]/&#39;;
 $string = preg_replace ( $no, &#39;&#39;, $string );
 $no = &#39;/%1[0-9a-f]/&#39;;
 $string = preg_replace ( $no, &#39;&#39;, $string );
 $no = &#39;/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/S&#39;;
 $string = preg_replace ( $no, &#39;&#39;, $string );
 return True;
 }
 $keys = array_keys ( $string );
 foreach ( $keys as $key )
 {
 clean_xss ( $string [$key] );
 }
}
//just a test
$str = &#39;jb51.net<meta http-equiv="refresh" content="0;">&#39;;
clean_xss($str); //如果你把这个注释掉,你就知道xss攻击的厉害了
echo $str;
?>
로그인 후 복사

   

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

更多Laravel5中防止XSS跨站攻击的方法相关文章请关注PHP中文网!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Laravel의 XSS(교차 사이트 스크립팅) 및 CSRF(교차 사이트 요청 위조) 보호 Laravel의 XSS(교차 사이트 스크립팅) 및 CSRF(교차 사이트 요청 위조) 보호 Aug 13, 2023 pm 04:43 PM

Laravel의 XSS(교차 사이트 스크립팅) 및 CSRF(교차 사이트 요청 위조) 보호 인터넷이 발전하면서 네트워크 보안 문제는 점점 더 심각해졌습니다. 그 중 XSS(Cross-SiteScripting)와 CSRF(Cross-SiteRequestForgery)는 가장 일반적인 공격 방법 중 하나입니다. 인기 있는 PHP 개발 프레임워크인 Laravel은 사용자에게 다양한 보안 메커니즘을 제공합니다.

PHP에서 XSS 및 원격 코드 실행 공격을 방어하는 방법 PHP에서 XSS 및 원격 코드 실행 공격을 방어하는 방법 Jun 30, 2023 am 08:04 AM

PHP를 사용하여 XSS(교차 사이트 스크립팅) 및 원격 코드 실행 공격을 방어하는 방법 소개: 오늘날의 인터넷 세계에서 보안은 중요한 문제가 되었습니다. XSS(교차 사이트 스크립팅) 및 원격 코드 실행 공격은 가장 일반적인 보안 취약점 중 두 가지입니다. 이 기사에서는 PHP 언어를 사용하여 이러한 두 가지 공격을 방어하는 방법을 살펴보고 이러한 공격으로부터 웹 사이트를 보호하는 몇 가지 방법과 기술을 제공합니다. 1. XSS 공격 이해 XSS 공격은 공격자가 웹사이트에 악성 스크립트를 삽입하여 사용자의 개인 정보를 얻는 것을 말합니다.

PHP 및 Vue.js 개발을 위한 보안 모범 사례: XSS 공격 방지 PHP 및 Vue.js 개발을 위한 보안 모범 사례: XSS 공격 방지 Jul 06, 2023 pm 01:37 PM

PHP 및 Vue.js 개발 보안을 위한 모범 사례: XSS 공격 방지 인터넷의 급속한 발전으로 인해 네트워크 보안 문제가 점점 더 중요해지고 있습니다. 그중 XSS(교차 사이트 스크립팅 공격)는 웹사이트의 보안 취약점을 악용해 사용자에게 악성 코드를 주입하거나 웹페이지 콘텐츠를 변조하는 것을 목표로 하는 매우 일반적인 유형의 네트워크 공격입니다. PHP 및 Vue.js 개발에서는 XSS 공격을 방지하기 위해 몇 가지 보안 모범 사례를 채택하는 것이 매우 중요합니다. 이 기사에서는 XSS 공격을 방지하고 해당 코드를 제공하기 위해 일반적으로 사용되는 몇 가지 방법을 소개합니다.

PHP의 보안 XSS 필터링 기술 분석 PHP의 보안 XSS 필터링 기술 분석 Jun 29, 2023 am 09:49 AM

PHP는 웹사이트 개발에 널리 사용되는 프로그래밍 언어이지만 PHP를 사용하여 웹사이트를 개발할 때 보안 문제로 인해 사람들이 걱정하는 경우가 많습니다. 그 중 하나가 일반적인 네트워크 보안 취약점인 XSS(Cross-SiteScripting)입니다. 이 문제를 해결하기 위해 PHP는 몇 가지 보안 XSS 필터링 기술을 제공합니다. 이 기사에서는 PHP의 보안 XSS 필터링 기술의 원리와 사용법을 소개합니다. 먼저 XSS 공격이 무엇인지 이해해야 합니다. XSS 공격

반영된 XSS를 분석하는 방법 반영된 XSS를 분석하는 방법 May 13, 2023 pm 08:13 PM

1. Reflected XSS Reflected XSS는 애플리케이션이 웹 요청을 통해 신뢰할 수 없는 데이터를 획득하여 데이터에 악성 코드가 포함되어 있는지 여부를 확인하지 않고 웹 사용자에게 전송하는 것을 의미합니다. Reflected XSS는 일반적으로 공격자가 URL 주소를 열면 HTML로 고유한 악성코드 매개변수를 파싱하여 실행하는 것이 특징이며, 사용자가 클릭을 해야 하는 특징이 있습니다. 특정 매개변수와 연결하면 발생할 수 있습니다. 편집기는 CWEID80:스크립트 관련 HTMLTagsinaWebPage(BasicXSS)2의 부적절한 중립화를 분석하기 위해 JAVA 언어 소스 코드를 예로 사용합니다.

반영된 XSS를 분석하는 방법 반영된 XSS를 분석하는 방법 Jun 03, 2023 pm 12:09 PM

1 테스트 환경 소개 테스트 환경은 OWASP 환경의 DVWA 모듈입니다. 2 테스트 설명 XSS는 CSS(CrossSiteScript)라고도 불리며 Cross-Site Scripting 공격입니다. 악의적인 공격자가 웹 페이지에 악성 HTML 코드를 삽입하여 사용자가 해당 페이지를 탐색하면 웹에 내장된 HTML 코드가 실행되어 사용자의 쿠키를 얻는 등 악의적으로 사용자를 공격하려는 특수한 목적을 달성하는 것을 말합니다. . 악성 웹사이트로 이동하여 공격을 수행하는 등의 작업을 수행합니다. 이 취약점은 공격자가 인증된 사용자의 세션을 가로채기 위해 악용될 수 있습니다. 인증된 세션을 하이재킹한 후 바이러스 발생자는 해당 인증된 사용자의 모든 권한을 갖게 됩니다. 3. 테스트 단계: 입력 상자에 javascript 스크립트 코드를 입력합니다: al

PHP의 XSS 공격 PHP의 XSS 공격 May 23, 2023 am 09:10 AM

최근 인터넷 정보기술의 급속한 발전으로 인해 우리의 삶은 점점 더 인터넷과 뗄 수 없게 되었습니다. 네트워크와 일상 생활 사이의 상호 작용은 대량의 코드 작성, 전송 및 처리와 분리될 수 없습니다. 그리고 이러한 코드는 보안을 보호하기 위해 우리가 필요합니다. 그렇지 않으면 악의적인 공격자가 이를 사용하여 다양한 공격을 시작할 것입니다. 이러한 공격 중 하나는 XSS 공격입니다. 이 기사에서는 PHP의 XSS 공격에 중점을 두고 그에 따른 방어 방법을 제공합니다. 1. XSS 공격 개요 크로스 사이트 스크립팅 공격이라고도 알려진 XSS 공격은 일반적으로 다음과 같습니다.

PHP의 XSS 공격 및 방어 가이드 PHP의 XSS 공격 및 방어 가이드 May 22, 2023 pm 12:51 PM

PHP는 웹 애플리케이션 개발에 널리 사용되는 일반적으로 사용되는 서버 측 프로그래밍 언어입니다. 그러나 인기와 사용 용이성으로 인해 PHP도 공격자의 표적 중 하나가 되었습니다. 가장 일반적인 공격 중 하나는 크로스 사이트 스크립팅(Cross-Site Scripting), 줄여서 XSS입니다. 이 기사에서는 PHP의 XSS 공격과 방어 지침을 소개하는 것을 목표로 합니다. 1. XSS 공격의 정의 XSS(교차 사이트 스크립팅 공격)는 공격자가 악성 HTML 또는 Javascript 코드를 "주입"하여 사용자 브라우저에 악의적인 작업을 수행하는 것을 말합니다.

See all articles