شرح طريقة طلب مفتاح API من جوجل للحصول على reCAPTCHA و اضافتها على موقعك للتحقق من ان الزائر ليس BOT بالمجان , ما يساعد على تامين محتوى على موقع من الزيارات الوهمية .
اقراء ايضا
اقراء ايضا
ما هو reCAPTCHA او CAPTCHA ؟
هو كود يضاف الى صفحة ويب او سكريبت على الانترنت للتحقق من ان الزائر او المستعمل انسان و ليس روبوت BOT مصمم لزيارة الموقع او المحتوى و طلب ملف مثلا دون توقف , فباستعمال CAPTCHA , سوف تطلب من الزائر على محتواك القيام بعمليات مختلفة و عشوائية , كاختيار صور او كتابة نص ... ما الى ذالك للتحقق منه شخص حقيقي و ليس برنامج .
- توجد العديد من المنصات و الشركات التي توفر هذه الخدمة و كل منها لها طريقتها في الحماية , في هذه التدوينة سوف نستعمل reCAPTCHA التابعة لشركة جوجل لانها الاكثر استعمال مع سكريبتات PHP .
2 - تقوم بتسجيل موقعك على جوجل الخاص بالكاباتشا
تظهر لك خيارات اضافية
الان سوف تظهر لك API ال reCAPTCHA
الكود او المفتاح الاول هو مفتاح API للموقع و يكون عام , المفتاح الثاني هو محمي و يكون للاتصال بين موقعك و سيرفر reCAPTCHA .
- الان يمكنك وضع وسم div لتحدد مكان ظهور الكاباتشا داخل الصفحة , قم بوضع مفتاح الكاباتسا امام data-sitekey
في ما يخص لغة PHP انت بحاجة الى التعديل على Google Secret Key
- توجد العديد من المنصات و الشركات التي توفر هذه الخدمة و كل منها لها طريقتها في الحماية , في هذه التدوينة سوف نستعمل reCAPTCHA التابعة لشركة جوجل لانها الاكثر استعمال مع سكريبتات PHP .
الحصول على مفتاح reCAPTCHA API من جوجل :
1 - تقوم بالدخول الى موقع reCAPTCHA التابع لشركة جوجل , من هذا الرابط , ان كنت تمتلك حساب مسبق على gmail سوف تسجل الدخول مباشرة لانه تابع الى نفس الشركة "google" .2 - تقوم بتسجيل موقعك على جوجل الخاص بالكاباتشا
تظهر لك خيارات اضافية
الان سوف تظهر لك API ال reCAPTCHA
الكود او المفتاح الاول هو مفتاح API للموقع و يكون عام , المفتاح الثاني هو محمي و يكون للاتصال بين موقعك و سيرفر reCAPTCHA .
طريقة اضافة reCAPTCHA على HTML
ان كنت تستعمل موقع باكواد HTML فيتوجب عليك اولا اضافة javascript في ال head .<script src="https://www.google.com/recaptcha/api.js" async defer></script>
طريقة اضافة reCAPTCHA على php
<form action="" method="POST">
<input type="text" name="name" value="" />
<input type="text" name="email" value="" />
<textarea type="text" name="message">textarea>
<div class="g-recaptcha" data-sitekey=" put the key here ">div>
<input type="submit" name="submit" value="SUBMIT">
form>
في ما يخص لغة PHP انت بحاجة الى التعديل على Google Secret Key
الى هنا نكون قد شرحنا طريقة الحصول و اضافة google reCAPTCHA API الى شرح قادم على مدونة خبير الانترنت لا تنسى متابعتنا على الصفحات الاجتماعية فيسبوك تويتر و جوجل +
if(isset($_POST['submit']) && !empty($_POST['submit'])):
if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])):
//your site secret key
$secret = 'Secret Key here';
//get verify response data
$verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response']);
$responseData = json_decode($verifyResponse);
if($responseData->success):
//contact form submission code
$name = !empty($_POST['name'])?$_POST['name']:'';
$email = !empty($_POST['email'])?$_POST['email']:'';
$message = !empty($_POST['message'])?$_POST['message']:'';
$to = 'contact@codexworld.com';
$subject = 'New contact form have been submitted';
$htmlContent = "
Contact request details
Name: "
.$name."
Email: "
.$email."
Message: "
.$message."
";
// Always set content-type when sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
// More headers
$headers .= 'From:'.$name.' <'.$email.'>' . "\r\n";
//send email
@mail($to,$subject,$htmlContent,$headers);
$succMsg = 'Your contact request have submitted successfully.';
else:
$errMsg = 'Robot verification failed, please try again.';
endif;
else:
$errMsg = 'Please click on the reCAPTCHA box.';
endif;
else:
$errMsg = '';
$succMsg = '';
endif;
?>