הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   אימות טפסים (https://hosts.co.il/forums/showthread.php?t=20010)

eLad 16-04-06 19:10

אימות טפסים
 
נמאס לי כל טופס להתחיל לאמת שהמשתמש אכן מילא את הטופס נורמאלי ושלח (ולא הוריד למחשב וזייף את הטופס). בימים אלו אני בדיוק עושה איזה סיעור מוחין עם אנשים ולשמוע מהם פתרונות לעניין, אשמח לשמוע גם את הפתרונות שלכם :-D

ובאותו עניין -
http://www.siteam.co.il/elad/beta2 האם לחיצה על הלינק מחזירה הודעה שהכל בסדר?

http://www.siteam.co.il/elad/beta2/?j=2 האם לחיצה על הלינק מחזירה הודעה שהגעתם לטופס לעמוד בדרך לא כשרה?

* מישהו רוצה לנסות לעקוף את זה?
* מישהו משתמש כאן בפרוקסי?

somebody 16-04-06 19:18

בקשר לראשון לא הבנתי:|
איזה טופס?:|

בקשר לדף השני, אתה לא מפעיל SESSION, ולא עוגיות, איך אתה בודק?:|
עכשיו לא עולה לי בראש דרך..
ואתה גם לא שלוח כלום ב POST
אתה בודק מאיפה הגיע הגולש ואם הוא לא הגיע מהעמוד שנתת קישור אליו בהתחלה אתה מראה שגיאה?
ככה זה ניראה בכל אופן..

eLad 16-04-06 19:21

ציטוט:

נכתב במקור על ידי somebody
בקשר לראשון לא הבנתי:|
איזה טופס?:|

בדר"כ יש נטייה להוריד את הטפסים למחשב ולזייף אותם (לעקוף בדיקות JS צד לקוח). לי אישית נמאס לבנות כל פעם פונקציות שיטפלו בבעיה (לכל טופס צריך פונקציה אחרת בצד שרת), אז אני מנסה לגשת לעניין מדרכים אחרות וכאן אשמח לדעת אילו רעיונות יש כדי לפתור את העניין הזה.

ציטוט:

נכתב במקור על ידי somebody
בקשר לדף השני, אתה לא מפעיל SESSION, ולא עוגיות, איך אתה בודק?:|
עכשיו לא עולה לי בראש דרך..
ואתה גם לא שלוח כלום ב POST
אתה בודק מאיפה הגיע הגולש ואם הוא לא הגיע מהעמוד שנתת קישור אליו בהתחלה אתה מראה שגיאה?
ככה זה ניראה בכל אופן..

אני באמת בודק מאיפה הגיע הגולש (אבל אפשר לזייף את זה בקלות ע"י שליחה מחודשת של ה header). זו בכל אופן רק דוגמא קטנה למה אני מנסה לעשות. אני מחפש לזה דרכים.

Eye-Soft 16-04-06 19:24

תעשה מה שאני עושה. הכי בטוח:
בודק בצד לקוח ובצד שרת.
כל הבדיקות שבצעתי בצד לקוח אני מבצע גם בצד שרת...

eLad 16-04-06 19:25

ציטוט:

נכתב במקור על ידי Eye-Soft
תעשה מה שאני עושה. הכי בטוח:
בודק בצד לקוח ובצד שרת.
כל הבדיקות שבצעתי בצד לקוח אני מבצע גם בצד שרת...

בדיוק מזה אני מנסה להימנע..

BlueNosE 16-04-06 19:25

השני באמת לא הבנתי OO"

הראשון- פשוט ביותר.
סשן שנקרא realpost, שנמחק אם כן.
אין שום דרך לזייף.
אני פשוט עובד על פרוייקט שחייב אבטחה אז אני עושה גם אימות טופס.. =\
אבל בד"כ..:
PHP קוד:

<?php
//page one
$_SESSION['realpost'] = true;
?>
<form bla bla...>
<input type="submit">
</form>
<?php
//page two
if ((isset ($_SESSION['realpost'])) and ($_SESSION['realpost'] == true))
{
/*בלה בלה בלה
בלי בלה בלו
Hello World
Shalom Olam*/
}
?>


eLad 16-04-06 19:35

ציטוט:

נכתב במקור על ידי BlueNosE
השני באמת לא הבנתי OO"

הראשון- פשוט ביותר.
סשן שנקרא realpost, שנמחק אם כן.
אין שום דרך לזייף.
אני פשוט עובד על פרוייקט שחייב אבטחה אז אני עושה גם אימות טופס.. =\
אבל בד"כ..:
PHP קוד:

<?php
//page one
$_SESSION['realpost'] = true;
?>
<form bla bla...>
<input type="submit">
</form>
<?php
//page two
if ((isset ($_SESSION['realpost'])) and ($_SESSION['realpost'] == true))
{
/*בלה בלה בלה
בלי בלה בלו
Hello World
Shalom Olam*/
}
?>


אני מזייף את זה בקלות -

אני מפעיל את page one במחשב ומוריד משם את הטופס (page one עדיין פתוח)
ואז שולח את הטופס המזוייף ל page two. ה session עדיין קיים ולכן הוא יזהה את זה כאילו שהכל בסדר :-/

BlueNosE 16-04-06 21:01

אז אולי נכין קובץ class או משהו כמו הmime extension, שמריץ אוטומטית בדיקה אם נותנים לו את שמות השדות..(?)
חוצמזה תמיד אפשר לאמת ע"י הדף שממנו הופנת..
אם הופנת מדף שבשרת שלך / הדף הצפציפי אז זה יאשר..
אבל לא הצלחתי להשתמש בדבר הזה.. סרבר REFERRAR או משהו כזה

eLad 16-04-06 21:04

ציטוט:

נכתב במקור על ידי BlueNosE
אם הופנת מדף שבשרת שלך / הדף הצפציפי אז זה יאשר..
אבל לא הצלחתי להשתמש בדבר הזה.. סרבר REFERRAR או משהו כזה

זה מה שאני עושה שימוש בדוגמא שנתתי לך. רק אם אתה לוחץ על הלינק זה מאשר אותך, אם אתה מגיע בצורה אחרת (הקלדה ישירה של הכתובת www.siteam.co.il/elad/beta2/?j=2 הוא יחזיר שגיאה).

ואת ה referrer הזה אפשר לעקוף בעזרת תוכנה ככה שזה לא כזה פרקטי :-/

BlueNosE 16-04-06 21:06

שים לב שגם את זה אפשר לעקוף בקלות.
אם כבר הייתי באותו עמוד, ובאותו חלון דיאלוג עם האינטרנט אני משנה את הכתובת שוב לj=2, אז זה כותב לי All good..


כל הזמנים הם GMT +2. הזמן כעת הוא 08:42.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ