הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 18-03-07, 20:50   # 1
drowkid
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Apr 2006
מיקום: מרכז - איזור כפ"ס
הודעות: 138

drowkid לא מחובר  

Thumbs up {מדריך} אימות טפסים, הסברים על הדרכים השונות!

ידע מוקדם
קצת js
והרבה html


ישנם כמה דרכים איכריות לאימות טפסים שנישלחים ע"י תגית הform והם:
1. בצד שרת (כמו רוב במתכנתים שאני מכיר!),
2. להשתמש בJS ולהקפיץ POP-UP,
3.שימוש בDHTML

כל מיני סיבות למה להשתמש ולמה לא:

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

השיטה השניה:
*לא לוכח תעבורה
מעצבן תמשתמש ואלול ליגרם לו ליברוח

השיטה השלישית שאותה אני ילמד היום:
*לא לוכח תעבורה
*לא מקפיץ שום POP-UP
*קל לשימוש
*יפה למראה

יש צורך לילמוד קצת CSS וJS - ממש קל לדעתי


והיום אני ילמד אותכם את השיטה השלישית הכי טובה!

1
קודם ניפתח דף חדש:
HTML קוד:
<html>
<head>
2
ואז נפתח קוד JS ובתוכו פונקציה חדשה שהיא תיבדוק את הטופס:
HTML קוד:
<script type="text/javascript">

function check()
{
3.1
ואז ניכתוב משתנה שיכיל את תוכן הinput שאנו רוצים ליבדוק אם יש בו תוכן (ואם לא ניכתוב פלט מתאים)
HTML קוד:
var username=document.login.username.value
if (username=="")
{
username = שם הINPUT (מה שנמצא במאפיין NAME)
login = שם הform (מה שנמצא במאפיין NAME בתגית form)

3.2

השורה הבאה כותבת לתגית span את טקסט השגיאה
HTML קוד:
usernameErr.innerHTML="username is require"
usernameErr = שם הspan


ונחזיר שלילי כדי שהטופס לא ישלח(כשבאמת יש שגיעה)
HTML קוד:
return false
}

חזור על שלב 3 בישביל כל שדה

4
ניכתוב שהפונקציה תחזיר אמת(שהטופס ישלח אם אין שגיאות) וניסגור את התגיות ונתחיל את הbody:
HTML קוד:
return true

}
</script>
</head>
<body>
5
ניכתוב את תגית הטופס
HTML קוד:
<form name=login onsubmit="return check()">
המאפיין onsubmit: מה יקרה שהמשתמש ילחץ על שלח

6
ניכתוב input + תגית הspan שבמיקרה שיש שגיאה שם יוצג התוכן של השגיאה
HTML קוד:
username: <INPUT TYPE="text" name=username> <font color="red"><span id="usernameErr"></span></font><br/>
7
ונסיים תמסמך
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>
אתם מוזמנים ליבדוק ולהגיב!


כל הזכויות שמורות לעופרי! כותב המדריך
__________________
  Reply With Quote
ישן 18-03-07, 21:15   # 2
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

אתה משתמש בבדיקה של צד לקוח ואם אני יוצר טופס שעושה POST אליך אני בקלות עובר את כל הבדיקות שלך
בכל מקרה תתקן שגיאות כתיב זה אחד.
2. בדיקה בצד לקוח לא באה במקום בדיקה של צד שרת אלה בנוסף.
  Reply With Quote
ישן 18-03-07, 21:19   # 3
Udi
חבר על
 
Udi's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
מיקום: במרכז
גיל: 35
הודעות: 903
Send a message via Skype™ to Udi

Udi לא מחובר  

אני יכול להוריד את הטופס למחשב,

למחוק את הבדיקות, בaction לקשר לעמוד הבדיקות בשרת שלך - והופה, בלי שום בעיה.

למרות שהדבר יכול להיפתר אם אתה משתמש נכון בסשן טוקן, אבל אני מעדיף לחשוף כמה שפחות את הבדיקות שאני עורך בפני הגולשים.
מתאמי אבטחה בדיקות עושים בצד שרת, וזהו.
__________________
Udi Mosayev
Web Developer

Last edited by Udi; 18-03-07 at 21:23..
  Reply With Quote
ישן 18-03-07, 21:22   # 4
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

מה הקשר ל SESSION ?

אם אתה מספיק חכם אתה יכול לחסום POST משרתים אחרים...
לגבי ה SESSION לא שיטה הכי יעילה אבל עובדת...
  Reply With Quote
ישן 18-03-07, 21:25   # 5
Udi
חבר על
 
Udi's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
מיקום: במרכז
גיל: 35
הודעות: 903
Send a message via Skype™ to Udi

Udi לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
מה הקשר ל SESSION ?

אם אתה מספיק חכם אתה יכול לחסום POST משרתים אחרים...
לגבי ה SESSION לא שיטה הכי יעילה אבל עובדת...
אתה יודע מה זה סשן טוקן?

זה פתרון קל ויעיל נגד סוג כזה של "התקפות".
__________________
Udi Mosayev
Web Developer
  Reply With Quote
ישן 18-03-07, 21:38   # 6
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 31
הודעות: 4,086

BlueNosE לא מחובר  

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

זה פתרון קל ויעיל נגד סוג כזה של "התקפות".
כמה מסובך, נכנסים לעמוד, משאירים פתוח ושולחים מהשרת השני בכל מקרה.
ד"א
אימות מאוד יעיל עם סשן אפשר לעשות (לא סשן טוקן).
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 18-03-07, 21:58   # 7
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

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

זה פתרון קל ויעיל נגד סוג כזה של "התקפות".
בוא תספר לי מה זה
אולי אני מכיר את זה בשם אחר ואני לא מסונכרן איתך
  Reply With Quote
ישן 18-03-07, 23:08   # 8
Udi
חבר על
 
Udi's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
מיקום: במרכז
גיל: 35
הודעות: 903
Send a message via Skype™ to Udi

Udi לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
בוא תספר לי מה זה
אולי אני מכיר את זה בשם אחר ואני לא מסונכרן איתך
אתה יוצר טוקן שמורכב ממשהו שאתה בוחר, שומר בסשן, ושומר גם את זמן יצירתו ובודק את כל המידע..

BlueNosE, על איזו שיטה אתה מדבר שאפשר להשתמש עם סשן?
__________________
Udi Mosayev
Web Developer
  Reply With Quote
ישן 19-03-07, 08:12   # 9
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 31
הודעות: 4,086

BlueNosE לא מחובר  

ציטוט:
נכתב במקור על ידי Udi צפה בהודעה
אתה יוצר טוקן שמורכב ממשהו שאתה בוחר, שומר בסשן, ושומר גם את זמן יצירתו ובודק את כל המידע..

BlueNosE, על איזו שיטה אתה מדבר שאפשר להשתמש עם סשן?
את האמת זאת שיטה קצת מסובכת.
אתה מגדיר סשן בתחילת העמוד עם התוכן XYZ והיידן עם אותו תוכן.
יוצר אייפריים נסתר.
בתחילת העמוד אתה מפנה את הIFRAME לעמוד שמעדכן את התוכן של הסשן - ועם זה, אתה מעדכן בJS גם את התוכן של הHIDDEN, ודואג שהפעולה תתבצע כל כמה דקות (ככה אם המשתמש הוריד למחשב, הHIDDEN אצלו לא מעודכן).
אח"כ כמובן אתה משווה בין השניים.

אמנם זה עקיף - כמו כל בדיקת SESSION אחרת - אבל הרבה יותר קשה לשים לב לתוכן של HIDDEN שמשתנה..
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 19-03-07, 08:46   # 10
Udi
חבר על
 
Udi's Avatar
 
מיני פרופיל
תאריך הצטרפות: Jan 2006
מיקום: במרכז
גיל: 35
הודעות: 903
Send a message via Skype™ to Udi

Udi לא מחובר  

הבנתי, קצת מסובך,
אבל המשתמש יכול לראות את צורת העבודה הזאת ולהיכנס לעמוד שמעדכן את הסשן בעצמו, לא?
__________________
Udi Mosayev
Web Developer
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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