![]() |
[ درس ] برمجة كابتشا تعمل بالصور
<div><div align="center">درس بسيط عن كيفية برمجة كابتشا تعتمد على التعرف على شكل ما
مثال: http://www.traidnt.net/vb/images/img...14/03/1577.png ما فائدة الكابتشا؟ تمنع السبام و البوت من التسجيل على موقعك او اضافة محتوى الخ.. لماذا كابتشا تعتمد على صور و ليس التعرف على نص؟ ببساطة الكابتشا التي تعتمد على التعرف على نص ممكن يتجاوزها البوت بسهول بأستخدام تقنية اسمها OCR او Optical Character Recognition التي تستطيع التعرف على اي نص داخل صورة و لهذا السبب يفضل ان لا تستخدم كابتشا تعتمد على التعرف على نص المتطلبات: تجميعة بسيطة لأشكال ليتعرف عليها الزائر.. مثلاً 5 صور لـ قطط او 5 صور لـ سيارة او 5 صور لـ كومبيوتر الخ الكود: اولاً.. نبني المتغيرات التي ممكن للذي يحب ستخدم الكابتشا ان يغيرها رمز PHP: // User must set these $objects = array("bed", "bird", "book", "cable", "car", "chair", "computer", "currency", "dog", "flowers"); $offset = array("min" => 1, "max" => 5); $num_solutions = 3; $num_options = 3; المتغير $objects هو مصفوفة تضع فيها كل الاشكال المتغير $offset هو مصفوفه فيها عدد الصور لكل شكل مثلاً لو عندي 5 صور مرقمة على شكل cat-1 cat-2 cat-3 cat-4 cat-4 اضع min واحد و max خمسة المتغير $num_solutions تضع فيه عدد الاشكال التي تريد ان يتعرف عليها الزائر المتغير $num_options هو عدد الخيارات لكل شكل ثانياً.. نبدأ الجلسة و نفتح مصوفتين فارغات رمز PHP: // Do not mess with these session_start(); $captchas = array(); $_SESSION['captcha_solutions'] = array(); ثالثاً.. نختار الاشكال للتعرف عليها من مصفوفة الاشكال على العدد الذي اختاره مستخدم السكريبت <div style="margin:20px; margin-top:5px"> رمز PHP: <div class="alt2"> <div dir="ltr" style="text-align:left;"> <span style="color: #000000">// Shuffle the array and pick $num_solutions objects shuffle($objects); for($i = 0; $i <span style="color: #007700"><span style="color: #000000">// Display the pictures of the captcha foreach($captchas as $captcha) { // Build a temp array of objects $temp = $objects; $key = array_search($captcha, $objects); unset($temp[$key]); shuffle($temp); // Build a list of options $options = array(); for($i = 0; $i <span style="color: #007700"><span style="color: #000000"> session_start(); $answers_user = $_POST['captcha']; $answers_correct = $_SESSION['captcha_solutions']; $num_correct = count($answers_correct); $correct = 0; for($i = 0; $i <span style="color: #007700"> |
الساعة الآن 05:48 AM |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
منتديات بلاك بيري
mjawshy.net
المجاوشي للتقنية المتقدمة