حزمة منع البريد العشوائي البسيط لـ 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 Hidden في النموذج الخاص بك عن طريق إدخال 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 >بعد إضافة حقول Honeypot. أضف قواعد التحقق من صحة حقول وقت العسل ووقت العسل.
$ this -> validate ( $ request , [
...
' honeypot_name ' => ' honeypot ' ,
' honeypot_time ' => ' required|honeytime:5 '
]);يرجى ملاحظة أنك تحتاج إلى تحديد عدد الثواني في العسل. يجب أن يستغرق المستخدم ملء النموذج. إذا استغرق الأمر وقتًا أقل من ذلك ، فسيعتبر النموذج بمثابة إرسال بريد إلكتروني.
أتمنى أن تستمتع بالحصول على رسائل غير مرغوب فيها عند إرسال المستخدم.
استند هذا المشروع إلى https://github.com/msurguy/honeypot - Maksim Surguy
العمل الأصلي على https://github.com/ianlandsman/honeypot - إيان لاندسمان
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (C) 2017 Arjhay Delos Santos
يتم منح الإذن بموجب هذا ، مجانًا ، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج") ، للتعامل في البرنامج دون تقييد ، بما في ذلك على سبيل المثال لا الحصر حقوق استخدام الأشخاص ونسخها ودمجها ودمجها وتوزيعها وتوزيعها على ما يلي:
يجب إدراج إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو" ، دون أي ضمان من أي نوع ، صريح أو ضمني ، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق واللياقة لغرض معين وعدم الانفجار. لا يجوز بأي حال من الأحوال أن يكون المؤلفون أو حاملي حقوق الطبع والنشر مسؤولاً عن أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء في إجراء عقد أو ضرر أو غير ذلك ، ناشئة عن أو خارج البرنامج أو الاستخدام أو غيرها من المعاملات في البرنامج.