Laravel 5.4 및 5.5에 대한 간단한 스팸 방지 패키지.
이 명령을 터미널 내부에서 실행하여 패키지를 프로젝트에 추가하십시오.
composer require devarjhay/honeypot
config/app.php 파일에서 응용 프로그램 서비스 제공 업체에 패키지를 추가하십시오.
' providers ' => [
/*
* Laravel Framework Service Providers...
*/
Illuminate Translation TranslationServiceProvider::class,
Illuminate Validation ValidationServiceProvider::class,
Illuminate View ViewServiceProvider::class,
...
/*
* Package Service Providers...
*/
DevArjhay Honeypot Providers HoneypotServiceProvider::class,
],응용 프로그램을 최적화하십시오
php artisan optimize
패키지 구성 파일 및 번역을 응용 프로그램에 게시하십시오. 이 명령을 터미널 안에서 실행하십시오.
php artisan vendor:publish --provider="DevArjhayHoneypotProvidersHoneypotServiceProvider"
또는 파일을 개별적으로 게시 할 수 있습니다.
php artisan vendor:publish --provider="DevArjhayHoneypotProvidersHoneypotServiceProvider" --tag="config"
php artisan vendor:publish --provider="DevArjhayHoneypotProvidersHoneypotServiceProvider" --tag="lang"
허니 포트 숨겨진 입력을 양식에 추가하십시오 Honeypot::make(...)
< form action =" ... " method =" ... " >
{!! Honeypot::make('honeypot_name', 'honeypot_time') !!}
</ form > < form action =" ... " method =" ... " >
{!! honeypot('honeypot_name', 'honeypot_time') !!}
</ form > < form action =" ... " method =" ... " >
@honeypot('honeypot_name', 'honeypot_time')
</ form > make 메소드는 다음 HTML 입력을 출력합니다. ( honeypot_time 필드는 암호화 된 tmestamps를 생성합니다.
< div id =" honeypot_name_wrap " style =" display: none; " >
< input type =" text " name =" honeypot_name " id =" honeypot_name " value ="" autocomplete =" off " >
< input type =" text " name =" honeypot_time " id =" honeypot_time " value =" encrypted timestamp " autocomplete =" off " >
</ div >허니 포트 필드를 추가 한 후. 허니 포트 및 허니 시간 필드에 대한 검증 규칙을 추가하십시오.
$ this -> validate ( $ request , [
...
' honeypot_name ' => ' honeypot ' ,
' honeypot_time ' => ' required|honeytime:5 '
]);Honeytime의 초 수를 지정해야합니다. 사용자가 양식을 작성하려면 필요합니다. 그보다 시간이 덜 걸리면 양식은 스팸 제출로 간주됩니다.
사용자가 양식을 제출할 때 덜 스팸을 얻는 것을 즐기시기 바랍니다.
이 프로젝트는 https://github.com/msurguy/honeypot - Maksim Surguy를 기반으로합니다
https://github.com/ianlandsman/honeypot - Ian Landsman의 오리지널 작업
MIT 라이센스
저작권 (C) 2017 Arjhay Delos Santos
이에 따라이 소프트웨어 및 관련 문서 파일 ( "소프트웨어")의 사본을 얻는 사람에게는 허가가 부여됩니다. 소프트웨어의 사용, 복사, 수정, 합병, 배포, 배포, 숭고 및/또는 소프트웨어의 사본을 판매 할 권한을 포함하여 제한없이 소프트웨어를 처리 할 수 있도록 소프트웨어를 제공 할 권한이 없습니다.
위의 저작권 통지 및이 권한 통지는 소프트웨어의 모든 사본 또는 실질적인 부분에 포함되어야합니다.
이 소프트웨어는 상업성, 특정 목적에 대한 적합성 및 비 침해에 대한 보증을 포함하여 명시 적 또는 묵시적 보증없이 "그대로"제공됩니다. 어떠한 경우에도 저자 또는 저작권 보유자는 계약, 불법 행위 또는 기타, 소프트웨어 또는 소프트웨어의 사용 또는 기타 거래에서 발생하는 계약, 불법 행위 또는 기타의 행동에 관계없이 청구, 손해 또는 기타 책임에 대해 책임을지지 않습니다.