קוד Captcha |
|
|
| תכנות ובנית אתרים |
|
קוד אבטחה - קוד Captchaתגיות בעמוד זה : שילוב קוד Captcha באתרך | בעיות בשילוב קוד Captcha | קוד Captcha נוסף להטמעה עדכון 17.10.2008 לסה"נ הוספתי קוד Captcha ממקור אחר שהרבה יותר קל לשילוב לבעלי אתרים ללא ידע ב-Html או ב- Php . קוד האבטחה הזה (Captcha code) מבוסס גם הוא על PHP והיתרון בו, שהוא מכיל את כל חלקי הטופס (בהנחה שהטופס נשלח לכתובת אימייל ולא נכנס לתוך מאגר-נתונים), וכפי שאמרתי – הרבה יותר קל להטמעה גם ללא ידע. הקוד לקוח מאתר http://www.captcha.biz/וכל הזכויות שמורות לו. מה שמובא כאן זהו הסבר בעברית כיצד לשלב את הקוד ההוא בטופס.מהו קוד Captcha ? (קוד אבטחה Captcha )קוד Captcha הוא הדרישה שרואים בטפסים רבים באינטרנט לזהות טקסט או מספרים מתוך תמונה. המטרה של קוד Captcha היא להבדיל בין משתמשים אמיתיים, בני אדם, לבין רובוטי Spam ושאר ירקות.איך לשלב קוד Captcha ב-3 שלבים :קדימה לעבודה... 10 דקות מעכשיו ויש לך קוד Capthca אצלך באתר!1. הורד את קובץ ה-ZIP הזה : Captcha-Hebrew.zip וחלץ אותו (Unzip). 2. פתח את הקובץ Captcha.php ב"פנקס הרשימות" (Notepad - או בכל עורך טקסט אחר). חפש את המקום בו רשום " כתובת דוא"ל זו מוגנת מפני spambots, יש לאפשר JavaScript על-מנת לראות את הכתובת " והחלף את הכתובת שמופיעה בין המרכאות לכתובת האימייל שלך - שאליה יגיעו ההודעות שישלחו מהטופס (כמובן, אחרי שהגולש באתר שלך יקליד קוד Captcha נכון...). אל תשכח לשמור את הקובץ עם השינוי . העלה את כל הקבצים לספריה בשרת המארח שלך (Hosting) ובעצם - סיימת. הקובץ עם הטופס הוא form-and-captcha.htm שהעלית לפני רגע - היכנס אליו ותראה שהכל פועל היטב. בעיות בשילוב קוד Captcha :אם הטופס עם קוד ה- Captcha לא עובד לך, בסקריפט המצורף או בכל סקריפט אחר, יכולות להיות מספר סיבות לכך, להלן2 סיבות שכיחות (אך לא כולן) : 1. השרת המארח שלך (HOSTING) חוסם את ה- session אצלך, או ספציפית את פקודת session_start() ב-PHP. זה דבר אפשרי לביצוע ומנהלי הוסטינג עושים אותו מסיבות שלהם,, לכן - צור קשר עם ספק ההוסטינג שלך ושאל אותו האם ה-session חסום. 2. בדוק שספריות GD ו- FreeType מאופשרות על השרת שלך (Enabled). תוכל לבדוק בקלות אם הן מאושפרות ע"י כך שתפתח קובץ PHP חדש וכתוב בו רק פקודה אחת : phpinfo(); שמור את הקובץ , העלה אותו לשרת , וטען אותו בדפדפן - כעת, בדוק ברשימת הפרטמטרים הארוכה האם אכן הפרמטר GD & FreeType libraries מאופשרת או חסומה.סקריפט נוסף לקוד CAPTCHAמצורף פה קוד CAPTCHA נוסף, מבוסס PHP שהבאתי בעבר, הקוד הזה לא כולל את רכיב המשלוח (הפקודה mail ב-PHP) ולכן הוא טיפ-טיפונת יותר קשה להטמעה לבעלי אתרים שאינם מכירים קצת PHP. הקוד מבוסס על קוד חופשי המופיע באתר הבא : http://www.white-hat-web-design.co.uk/articles/php-captcha.phpוהמאמר הוא למעשה תרגום קליל של ההסבר המופיע שם באנגלית. כל הזכויות שמורות להם כמובן. 3 שלבים בדרך לקוד Captcha באתר שלך :1. הורד את קובץ ה-zip מהקישור הבא : Captcha.zip , חלץ אותו מהכיווץ, והעלה את הקבצים לספריה בה מאוחסן הטופס בשרת. 2. שלב את הקוד הבא בתוך הטופס שלך קוד אבטחה *: <input id="security_code" name="security_code" type="text" /> <img src="/CaptchaSecurityImages.php" mce_src="/CaptchaSecurityImages.php" />
ישנם 3 פרמטרים שתוכל לשנות בקוד ה Captcha את הרוחב, הגובה ומספר התוים, בצורה הזו : <img src="CaptchaSecurityImages.php?width=100&height=40&characters=5" alt="captcha" />
כפי שראית , ניתן גם להוסיף תגית alt כמו לכל תמונה רגילה. 3. עתה, שלב את הקוד הבא , בקובץ אליו נשלחים הנתונים לאחר ה submit . הקוד הבא בודק האם מה שהוקלד אכן שווה למה שהוצג בתמונת ה- session_start(); if(($_SESSION['security_code'] == $_POST['security_code']) && (!empty($_SESSION['security_code'])) ) { // הכנס כאן את הקוד שלך למשלוח של הטופס unset($_SESSION['security_code']); } else { // הכנס כאן קוד להודעת שגיאה למשתמש } וזהו - קוד ה Captcha כבר פועל בטופס שלך. בהצלחה. |

