![]() |
# 11 |
הוסטסניון
|
תכריח לפני הודעה באנגלית לכתוב בעברית [אנגלית] או שתכריח לכתוב לפחות אות אחת בעברית/ תספור את הזמן שלוקח למשתמש לכתוב את ההודעה. זה מה שלה לי בראש.. זה די מסובך (הזמן) אבל נראה לי רע.
|
![]() |
![]() |
# 12 |
אחראי פורום
|
חצי מהתגובות כאן הם פשוט ללא שום מחשבה.
הראשון הציע, בסדר, אמרתי לו שזה אמור להיות "עמוד תגובות", זה לא פורום. השני, מילא. אבל כש-5 אנשים מציעים אותו רעיון? Pentagon: סוף סוף רעיון טוב ![]() הקטע של העברית לא ממש טוב, כי אני לא רוצה למנוע אפשרות של כמה שפות ראשיות, אבל הקטע של הזמן שליחה זה פשוט גאוני. כי בוט שולח בפחות משניה.... ![]() |
![]() |
![]() |
# 13 |
הוסטסניון
|
אני כמה וכמה פעמים השתמשתי בדבר כזה:
בתוך התנאי שאם הטופס נשלח אתה רושם תנאי חדש שבודק אם ה-HTTP_HOST שווה למחרוזת מארח ב-HTTP_REFERER. כמובן שתעשה בדיקה גם עם החלפת www.
__________________
מפתח ומתחזק אתרים. |
![]() |
![]() |
# 14 |
חבר מתקדם
|
אפשרי לזייף את הHTTP_REFERER בקלות אם אני לא טועה.
__________________
רק אחרי שנמצאים בחושך, אפשר להעריך את האור.
|
![]() |
![]() |
# 15 |
הוסטסניון
|
נכון, אתה לא טועה.
אבל עדיף לנסות להגביל מאשר לא לנסות בכלל. שמתי קוד כזה במערכת תגובות של אתר עם הרבה כניסות בחו"ל וכבר חודשיים אין בו ספאם.
__________________
מפתח ומתחזק אתרים. |
![]() |
![]() |
# 16 |
תודה על תרומתך.
|
עוד רעיון נחמד שיכול להיות מועיל ואולי הכי פשוט מכולם.
כשבוט שולח הודעה הוא פשוט עושה POST לדף מהתוכנה שעליה הוא מוגדר. אפשרות ראשונה זה לבדוק אם ה POST אכן הגיע מאותו הוסט אבל כמו שנאמר לא בעיה לעקוף את זה. אפשרות אולי טיפה יותר חכמה (שגם שקופה למשתמש) היא לעשות כזה דבר כל פעם שאתה מציג את הדף אז אתה מציג גם INPUT מסוג HIDDEN. הרעיון הוא שכל פעם גם השם של השדה וגם ה VALUE שלו משתנים ככה אי אפשר לעלות על זה כלומר נעשה : PHP קוד:
ואז נעשה כזה דבר : PHP קוד:
כשאנחנו עושים _POST אז נעשה את הבדיקה הפשוטה : if ((!isset($_POST[$fieldname])) OR ($_POST[$fieldname] != $fieldvalue)) { die('POST NOT ALLOWED'); } כשאתה עושה את זה יש לך בעיה שבריענון של הדף אז ה VALUE כל הזמן משתנה ולכן נשתמש ב SESSION בשביל לשמור את זה על המשתמש כאשר מה שנשמר על המשתמש הוא ה SESSIONID שלא אומר כלום לגבי ה NAME ו VALUE שיש בFORM. בנוסף הייתי ממליץ לך להגן על ה SESSION מפני גניבות, וגם לוודא HTTP_USERAGENT נכון שלא בעיה להמציא AGENT אבל בד"כ בוטים משתמשים ב AGENT קבוע שלא תהיה לך בעיה לחסום אותו, גם אם הם ישנו את ה AGENT, יש לך את הדרכים האחרות שהם מקשות. סביר להניח שאחרי שהבוט יבין שהוא לא יכול להספים אותך, אז הוא פשוט יעבור לאתר אחר.
__________________
|
![]() |
![]() |
# 17 |
אחראי פורום
|
תודה רבה לכולם, ושיפרתי את הכל, מקווה שזה יעצור אותם
![]() אפשר לנעול. |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
כלים לאשכול | |
תצורת הצגה | |
|
|