|
![]() |
# 1 | |
אחראי פורום
|
ציטוט:
זה נכון שבאותה המידה אפשר לעשות, $this->input('val') - ואז זה עוד קריאה לפונקציה - משאבים, משאבים, שבאמת בהבדל של כמה מאיות? תגיד לי אתה. אתה היית מחליף כמה מאיות(בדוק, כשיש כמה עשרות דברים ב-GET וב-POST, שאין סיכוי שזה יגיע למצב כזה) בעד אבטחה שאתה יודע שהיא מלאה? רק תענה, בכן או לא. ולא הגבת על הנקודה שהצגתי - אם גם vBulletion, וגם IPB, וגם עוד כמה מערכות גדולות משתמשות בדיוק בשיטה הזאת - זה לא מראה שזה לא בטוח טעייה? BlueNosE: ברגע שאתה לא מסנן נכון - זה כמו להשאיר דלת לא נעולה לפורץ... אתה עושה תגובות עם עורך חכם באתר. זה נחמד לסמוך על כל המשתמשים, אבל לפי דעתי - זה מאוד לא נכון להשאיר ללקוח את הטרחה הזאת. כשאני גומר את העבודה ללקוח שלי, אני בודק את כל הזווית האפשריות. אם כשאני אומר, "אני יכול לפרוץ את זה" - אני מתכוון לזה? אני אעבוד על המערכת, עד שזה כבר לא יהיה נכון. מילא שיהיה IFRAME, מילא. מילא שזה יעביר לאתר אחר, זה גם מילא. אבל אם אתה נותן אפשרות לשים JS, שאפשר בפוטנציאליות להשיג מזה את השם משתמש והסיסמא? שניהם, רק תגידו, בעד כמה מאיות בהנחה שיש עשרות קלטים, אתם "תקנו" אבטחה מלאה לאתרכם? וזה רק צד אחד למטבע, לא דיברנו על פלודינג - שגם בזה הכל מטופל אוטומטית, בתוספת של עוד מאיה בערך. אז בעד 4 מאיות, הייתם קונים אבטחה מלאה? שאתם יודעים 100% שהיא מלאה? זה השאלה, כן או לא. Last edited by Daniel; 10-07-08 at 13:08.. |
|
![]() |
![]() |
# 2 | |
אין כמו ב127.0.0.1
|
ציטוט:
אני לא מדבר על עבודה מול משתמשים. ברור שצריך לאבטח את זה. אי אפשר לתת למשתמשים לפרסם סקריפטים או סטייל באתר, וכעיקרון הרבה יותר חכם להגביל אותם בתגים שאתה כן רוצה שהם יפרסמו במקום בכאלו שאתה לא רוצה. אני בכלל דיברתי על זה שאמרת ש"אם לקוח רוצה לתת גישה למנהלים". אין מה לעשות נגד זה. ד"א, אין הרבה היגיון בלעבוד עם COOKIES לשמירת מידע משתמש. אם הצליחו איכשהו לסנן לך JS לאתר, אם דרך הFTP או דרך האתר עצמו, המידע שלך הלך. אני אשמח להבין איך אפשר להגן FLOODING ועם זאת לא לחסום משתמשים שבטעות שלחו פעמיים בצורה אוטומטית. |
|
![]() |
![]() |
# 3 | |
אחראי פורום
|
ציטוט:
אני עובד לפי השיטה הבאה. אף פעם אתה לא חוסם משתמש חסימה תמידית. כשיש דברים רגישים, דבר ראשון, כל טופס שנשלח יש לו formid - שזה seed אקראי שמוצפן ב-MD5/SHA1. במידה ואותו ה-formid נשלח פעמיים ברצף - אתה מתריע למשתמש שכנראה התבצעה שגיאה. אני לא רוצה לספר את השיטה המדוייקת שלי - הרי כך היא תיהיה קצת פחות אפקטיבית, אבל אם מישהו באמת ירצה להציף משהו שעבדתי עליו - הוא יסבול מאוד. כמו כן, אני תומך בקאפטצ'ה פרי =) לא צריך קאפטצ'ה. |
|
![]() |
![]() |
# 4 |
אין כמו ב127.0.0.1
|
לעבוד עם סשן הפסקתי מזמן.. הרבה יותר נוח טבלת סשנים במסד, וזה דיי מקובל לעבוד עם טבלה.
עם קוקיז הפסקתי ברגע שאיפשרתי הכנסת סקריפטים לעמוד אישי ומישהו ניסה להשיג ככה את העוגיות של המשתמשים שלי. בקשר לFORMID. אני לא חושב שהשיטה הזאת כ"כ יעילה, כי שוב, אם משתמש בטעות שלח פעמיים ברצף אותו טופס? אני לא יודע, יש הבדלים מהותיים בשיטות עבודה שלנו, ולדעתי לעבוד עם טבלת סשנים זה שמיים וארץ מול סשן רגיל. |
![]() |
![]() |
# 5 | |
אחראי פורום
|
ציטוט:
עוגיות הם רק לאקסטרה., אבל אני הכנתי משהו, ולא מכניסים לשם JS =) אני יודע! אני עובד מול טבלת סשנים! אבל הסשן זה עוד אימות קטנטן. |
|
![]() |
![]() |
# 6 |
חבר וותיק
|
אני חייב לציין שאתה פשוט בזבזן משאבים כפייתי.
גם קוקיז, גם SQL, וגם סשן. מה הלאה? תמציא את הקוקיז?! שלא לדבר על הפתרון המטופש נגד ספאמינג. משתמש שבטעות שלך משהוא עם טעות ורוצה לחזור עם "הקודם" ולשלוח את ההודעה מחדש בצורה מתוקנת לא יכול, בגלל ההגנה המטופשת שלך. |
![]() |
![]() |
# 7 | |
אחראי פורום
|
ציטוט:
אמרתי לך. כמה מאיות תמורת אבטחה? ואוו! כמה בזבוז משאבים! בפאנל הניהול יש עוד סשן!!! ואוו! אז מה דעתך שאתה בזבזן משאבים כפייתי? אתה יודע שככל ששם המשתנה ארוך יותר, ככה גם זמן הטעינה ארוך יותר? הרי א. זה גודל דף יותר גדול = כל הזמן שהשרת מתעסק בו עולה. ב. כשהוא קורא למשתנה, זה הרבה יותר זמן! רגע, אתה אומר לי שאתה משתמש במשתנה בשם $username במקום רק $u? בזבזן משאבים כפייתי שכמותך. ורגע, אתה אומר לי שהשם דף הראשי שלך זה index.php? מהר מהר מהר תדאג שהשרת יקרא רק את הסיומת p / בלי סיומת, כי זה פשוט בזבוז משאבים. ואל תגיד לי, אתה כותב את הקוד שלך בלי אנטרים, נכון? נו, למה אני שואל - ברור שלא. מאותה סיבה למעלה. אתה יודע שברגע שאתה כותב עברית ב-UTF, זה תופס פי 2 מקום? אז אף פעם אל תשתמש ב-UTF במסד, כי אולי המנהל האתר האנגלי בטעות יקנה מקלדת עברית ויכתוב "א" - ואז זה יתפוס עוד תוו במסד - בזבוז משאבים נוראי. יש דברים שעליהם לא צריך להעיר. מתי היית אומר שאני משתמש באופן כפייתי? שכדי לבדוק האם משהו ארוך מאורך מסויים, אני משתמש ב-strlen במקום isset. וגם זה - עוד איכשהו. אבל בגלל שבדף התחברות והדף ניהול יש סשן? נו באמת. אם אתה רוצה לחסוך במשאבים, תבנה אתר ב-HTML בלבד. שכדי לשלוח "תגובה" - מתקשרים לבעל האתר שיוסיף. אבל זה בזבוז משאבים של בעל האתר, נכון? אז זה בסדר? אל תחליט שהשיטה שלי היא מטופשת, לפני שאתה בא אליי. "אתה רואה? למרות כל ההגנות המטופשות, חסרות מחשבה והלא נכונות שלך, פרצתי לך למערכת. לא בגלל השרת. לא בגלל שאני בעצם המנהל. לא בגלל שהשתלתי קיילוגר אצל המנהל. אלא בגלל שמצאתי פירצה". כשתגיד לי את זה - אז אני אתייחס לזה בשיא הרצינות. אבל סתם ככה? RS324: אני יודע שרוב הפעמים זה מוגזם, אבל פשוט בניתי לי כל מיני מחלקות - לוואלידטציה(או איך שלא כותבים את זה בעברית, אימות) טפסים ויצירה שלהם - שאני עדיין עובד עליה, מחלקה למסד נתונים, ומחלקה למשתמשים. המחלקה של היצירת טפסים, מקבלת מערך, לדוג' PHP קוד:
המערכת כרגע פועלת בחלקה, ומה שנשאר זה עבודה עם AJAX במידה ויש אימות עם מסד נתונים. וכמו שאמרתי, יש מטמון שלא יקרה מצב שדבר קבוע, זה ימשיך ליצור. יש אפשרות לציין type, יש אפשרות ליצור אינפוטים קבועים - לדוג', אתה יודע שבכל הטפסים שלך יהיה קאפטצ'ה? אתה משתמש בפונקציה כדי ליצור אינפוט שתוכל לקרוא לו ב"מילה אחת", וככה גם, במידה ואני רוצה להוסיף, לדוגמא, תא כלשהו - זה בשורה אחת. חוץ מזה, שמה שאני שולף במסד - אני לא נוגע בו. שולף אותו כמו שהוא. כי אם יש שם משהו - זה אומר שמישהו נכנס למסד/לקבצים, ואם מישהו נכנס לשם - הוא גם יוריד את השורה שמסננת את הפלט. למרות, שאני שוקל, עם הפרנואידיות שלי XD, את הקבצים של המערכת - להצפין ב-ioncube וב-Zend Guard, ובמסד, לדאוג שהכל יוצפן(כולל השמות טבלאות וטורים) לפי seed מסויים, שיתחלף נגיד תוך שבוע - ובמידה והוא מגלה שפתאום במסד מופיע ערך שלא מוצפן נכון - מעביר את כל האתר(עדיין, כשהוא מוצפן) לשרת חיצוני, כולל את המסד(כשהוא מוצפן גם הוא, בנוסף על פי עוד seed), ומודיע שהאתר יחזור בקרוב, משנה סיסמאות גישה להכל, ובשרת החיצוני, יש לבעל האתר "כפתור" להחזיר את האתר. אבל זה כבר מוגזם P=, אבל זה יהיה נחמד, לא? וכמובן שבמחלקה של המסד נתונים, זה יחליף את שמות הטורים/הטבלאות/הערכים/הערכים עצמם בערכים המתאימים. אני אוהב את הדיונים האלה בפורום, אבל לפי דעתי יהיה מעניין אם עוד כמה מתכנתים יגיבו, לדוג', WebProject, ועוד כמה מתכנתים שעם הזיכרון לטווח הקצר שלי אני לא זוכר P=. Last edited by Daniel; 11-07-08 at 11:07.. |
|
![]() |
![]() |
# 8 |
אין כמו ב127.0.0.1
|
טוב אז בוא נסכם על דבר אחד:
אתה מסכים איתי, שלשמור כפל נתונים בזכרון השרת בלי שום סיבה (נתון מאובטח ונתון לא מאובטח), זה בזבוז משאבים - אפילו אם הקטן ביותר? ואתה מסכים איתי שאם התוצאה היא שאני ואתה עובדים באותה רמת אבטחה מבחינת התוצר הסופי, ואני לא שומר נתונים כפולים, אז אתה מבזבז יותר משאבים? אם כן - זהו, כאן זו רק שאלה של הרגלי עבודה. לדעתי יותר חכם לעבוד ככה, לדעתך מהשיקולים שלך יותר חכם לעבוד אחרת.. מקובל עלי, למרות שאני לא מוצא בזה הרבה היגיון. |
![]() |
![]() |
# 9 | |
אחראי פורום
|
ציטוט:
|
|
![]() |
![]() |
# 10 |
תודה על תרומתך.
|
וויכוח ארוך וטיפשי כולכם אומרים בעצם כמעט את אותו הדבר
השיטה שאני משתמש , באופן אוטומטי אני עובר על המערכים של GET POST REQUEST SESSION ו COOKIE ומחליף את כל התווים כדוגמאת " , ' וכו' בקוד ASCII שלהם בעת הכנסה למסד אני גם עושה מעבר אוטומטי על המערך שאני מכניס למסד ובודק אם זה ערך מספרי מוסיף לו INTVAL / FLOATVAL ואם זה טקסט אז מוסיף ADDSLASES באופן אוטומטי ושומר את זה במסד. כמובן שאני מסנן מ SCRIPT וכד' בהצגה אני מחליף את זה את הקודים של ה ASCII בחזרה ל <>" , ' ודומיהם... אבל לא תמיד, תלוי בתצוגה , אם זה משהו שמנהל הכניס (לדוגמא מתוך TINYMCE - אז כן) אם לא אז אני לא מחליף ובמקרה הכי גרוע זה מוצג כ ASCII על המסך... אני מריץ את הפעולות האלה בהתחלת הסקריפט ומאז משתמש ישר במשתנים של ה POST וכד' לא צריך לבנות מערכים ולהמציא מחדש בשביל זה אם יש משהו שדורש יחס מיוחד אז אני עושה את זה פרטני, פשוט וקל... הסתבכתם לגמרי עם כל הנושא ד"א MASTER T אל תהיה כזה פרנואיד, אתה לא בונה מערכת לבנק....
__________________
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
כלים לאשכול | |
תצורת הצגה | |
|
|