|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
חבר בקהילה
|
![]() ידע מוקדם
קצת js והרבה html ישנם כמה דרכים איכריות לאימות טפסים שנישלחים ע"י תגית הform והם: 1. בצד שרת (כמו רוב במתכנתים שאני מכיר!), 2. להשתמש בJS ולהקפיץ POP-UP, 3.שימוש בDHTML כל מיני סיבות למה להשתמש ולמה לא: השיטה הראשונה והמוכרת: *מהיר כל לשימוש ולא דורש למידה של שפה נוספת *לוקח עוד תעבורה(לא ממש הרבה אבל זה עדיין נקודה חשובה) ויש עוד אבל הם לא ממש חשובות לנושא זה. השיטה השניה: *לא לוכח תעבורה מעצבן תמשתמש ואלול ליגרם לו ליברוח השיטה השלישית שאותה אני ילמד היום: *לא לוכח תעבורה *לא מקפיץ שום POP-UP *קל לשימוש *יפה למראה יש צורך לילמוד קצת CSS וJS - ממש קל לדעתי והיום אני ילמד אותכם את השיטה השלישית הכי טובה! 1 קודם ניפתח דף חדש: HTML קוד:
<html> <head> ואז נפתח קוד JS ובתוכו פונקציה חדשה שהיא תיבדוק את הטופס: HTML קוד:
<script type="text/javascript">
function check()
{
ואז ניכתוב משתנה שיכיל את תוכן הinput שאנו רוצים ליבדוק אם יש בו תוכן (ואם לא ניכתוב פלט מתאים) HTML קוד:
var username=document.login.username.value if (username=="") { login = שם הform (מה שנמצא במאפיין NAME בתגית form) 3.2 השורה הבאה כותבת לתגית span את טקסט השגיאה HTML קוד:
usernameErr.innerHTML="username is require" ונחזיר שלילי כדי שהטופס לא ישלח(כשבאמת יש שגיעה) HTML קוד:
return false } חזור על שלב 3 בישביל כל שדה 4 ניכתוב שהפונקציה תחזיר אמת(שהטופס ישלח אם אין שגיאות) וניסגור את התגיות ונתחיל את הbody: HTML קוד:
return true } </script> </head> <body> ניכתוב את תגית הטופס HTML קוד:
<form name=login onsubmit="return check()">
6 ניכתוב input + תגית הspan שבמיקרה שיש שגיאה שם יוצג התוכן של השגיאה HTML קוד:
username: <INPUT TYPE="text" name=username> <font color="red"><span id="usernameErr"></span></font><br/> ונסיים תמסמך HTML קוד:
<input type="Submit" name=Submit value="login>>"> </FORM> </body> </html> וזהו! הקוד כולו: HTML קוד:
<html> <head> <script type="text/javascript"> function check() { var username=document.login.username.value if (username=="") { usernameErr.innerHTML="username is require" return false } else { } return true } </script> </head> <body> <form name=login onsubmit="return check()"> username: <INPUT name=username> <font color="red"><span id="usernameErr"></span></font><br/> <input type="Submit" name=Submit value="login>>"> </FORM> </body> </html> כל הזכויות שמורות לעופרי! כותב המדריך
__________________
![]() |
![]() |
![]() |
# 2 |
תודה על תרומתך.
|
אתה משתמש בבדיקה של צד לקוח ואם אני יוצר טופס שעושה POST אליך אני בקלות עובר את כל הבדיקות שלך
בכל מקרה תתקן שגיאות כתיב זה אחד. 2. בדיקה בצד לקוח לא באה במקום בדיקה של צד שרת אלה בנוסף.
__________________
|
![]() |
![]() |
# 3 |
חבר על
|
אני יכול להוריד את הטופס למחשב,
למחוק את הבדיקות, בaction לקשר לעמוד הבדיקות בשרת שלך - והופה, בלי שום בעיה. למרות שהדבר יכול להיפתר אם אתה משתמש נכון בסשן טוקן, אבל אני מעדיף לחשוף כמה שפחות את הבדיקות שאני עורך בפני הגולשים. מתאמי אבטחה בדיקות עושים בצד שרת, וזהו.
__________________
Udi Mosayev
Web Developer Last edited by Udi; 18-03-07 at 21:23.. |
![]() |
![]() |
# 4 |
תודה על תרומתך.
|
מה הקשר ל SESSION ?
אם אתה מספיק חכם אתה יכול לחסום POST משרתים אחרים... לגבי ה SESSION לא שיטה הכי יעילה אבל עובדת...
__________________
|
![]() |
![]() |
# 5 | |
חבר על
|
ציטוט:
זה פתרון קל ויעיל נגד סוג כזה של "התקפות".
__________________
Udi Mosayev
Web Developer |
|
![]() |
![]() |
# 6 |
אין כמו ב127.0.0.1
|
כמה מסובך, נכנסים לעמוד, משאירים פתוח ושולחים מהשרת השני בכל מקרה.
ד"א אימות מאוד יעיל עם סשן אפשר לעשות (לא סשן טוקן). |
![]() |
![]() |
# 7 |
תודה על תרומתך.
|
בוא תספר לי מה זה
אולי אני מכיר את זה בשם אחר ואני לא מסונכרן איתך
__________________
|
![]() |
![]() |
# 8 |
חבר על
|
אתה יוצר טוקן שמורכב ממשהו שאתה בוחר, שומר בסשן, ושומר גם את זמן יצירתו ובודק את כל המידע..
BlueNosE, על איזו שיטה אתה מדבר שאפשר להשתמש עם סשן?
__________________
Udi Mosayev
Web Developer |
![]() |
![]() |
# 9 | |
אין כמו ב127.0.0.1
|
ציטוט:
אתה מגדיר סשן בתחילת העמוד עם התוכן XYZ והיידן עם אותו תוכן. יוצר אייפריים נסתר. בתחילת העמוד אתה מפנה את הIFRAME לעמוד שמעדכן את התוכן של הסשן - ועם זה, אתה מעדכן בJS גם את התוכן של הHIDDEN, ודואג שהפעולה תתבצע כל כמה דקות (ככה אם המשתמש הוריד למחשב, הHIDDEN אצלו לא מעודכן). אח"כ כמובן אתה משווה בין השניים. אמנם זה עקיף - כמו כל בדיקת SESSION אחרת - אבל הרבה יותר קשה לשים לב לתוכן של HIDDEN שמשתנה.. |
|
![]() |
![]() |
# 10 |
חבר על
|
הבנתי, קצת מסובך,
אבל המשתמש יכול לראות את צורת העבודה הזאת ולהיכנס לעמוד שמעדכן את הסשן בעצמו, לא?
__________________
Udi Mosayev
Web Developer |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|