![]() |
איך מאבטחים דבר שכזה, איך??
חבר'ה אני ממש מיואש..זה נראה לא הגיוני.
כאשר משתמש מעלה תמונה כלשהי, אז לתוך התיקייה images בשרת נוצרת תיקייה בשם של היוזר שלו ושם מתאחסנת התמונה, לדוגמא, אם משתמש בשם dor העלה תמונה בשם computer.png אז זהו יהיה הנתיב שלה: http://www.example.com/images/dor/computer.png בדף שבו אני מציג את התמונות של כל משתמש בהתאם ליוזר שלו, אני עושה לולאה שקוראת מהתיקייה של כל משתמש בהתאם ליוזר..ככה images/$user/ עד כאן הכל טוב, הבעיה מתחילה כאשר השם משתמש הוא שם משתמש נכון והכל בסדר ואז אני מציג למשתמש את התמונות שלו, ואז הוא יכול לראות בקוד מקור שמקור התמונות הן: http://www.example.com/images/dor/pic1.png http://www.example.com/images/dor/pic2.png http://www.example.com/images/dor/pic3.png http://www.example.com/images/dor/pic4.png ואז אם הוא יהיה אצל חבר שלו, שלא מחובר לאתר, הוא יקיש בשורת הכתובת http://www.example.com/images/dor/pic1.png ויקבל את התמונה. אני רוצה למנוע מצב כזה, אני רוצה שרק כאשר המשתמש מחובר, ורק כאשר הוא מנסה לגשת לתמונות ששמורות על שם היוזר שלו (שבעוגייה) התמונה תופיע לו. מקווה שהבנתם..לי בכל אופן זה נראה די בלתי אפשרי..חשבתי על כל דרך אפשרית.. תודה! |
אם הבנתי אותך נכון ,
צור תמונה בעלת שם רנדומלי (אותיות+מספרים) תשתמש בHTACCESS שהכתובת תראה כך images/dor/pic1.png ובעצם בעמוד יהיה תנאי שאם המשתמש מחובר אז זה יציג את התמונה ואם לא אז זה לא יציג . |
הפתרון הנכון במקרה הזה הוא לשמור את התמונות בנתיב שלא נגיש דרך האינטרנט ולהגיש את התמונה למשתמש בצורה בינארית רק אחרי שווידאת שהמשתמש התחבר למערכת וזיהית אותו.
|
בעזרת htaccess תחסום גישה לתיקיית התמונות, ואת התצוגה של התמונות תבצע עם סקריפט PHP בעזרת GD שיבדוק אם זה המשתמש הנכון ואז יציג את התמונה למשתמש
|
איך אני מציג את זה בבינארית?
ובעניין ה HTACCESS..יש פירוט? מעולם לא התעסקתי ב HTACCESS. תודה רבה! עריכה: לא מודבר רק בתמונות..זה יכול להיות גם קובץ doc או mp3.. תודה. |
אז כמו קודם, רק תשלח headים בקובץ שיפנו לקובץ שאתה רוצה להציג, תקרא קצת על הנושא
|
קראתי טיפה על HTACCESS..אבל לא רואה איך זה יעזור לי..זה רק משנה את הכתובת..
|
אתה יכול להגדיר שם הרשאות גישה לקבצים, שיוכלו לגשת לקבצים בתיקייה מסויימת רק מהשרת עצמו ולא מאיי פי חיצוני
htaccess משמש לממש הרבה דברים, ושינוי כתובת זה רק שימוש אחד שלו |
ציטוט:
ואיך אני עושה שבכל זאת יגשו אלייה, מי שמורשה כמובן? תודה רבה על העזרה, מעריך זאת מאוד.. |
אתה חוסם גישה מבחוץ כמו שאמרתי, ואז יוצר סקריפט PHP שהוא מקבל בפרמטרים שלו את הפרטים על הקובץ שאתה רוצה, ואז בודק אם יש לבנאדם הרשאה מתאימה לגשת לקובץ, אם לא- תציג שגיאה או משהו, אם כן- תשלח headerים שתואמים לקובץ שהוא אמור לראות ותטען את התוכן של הקובץ ותדפיס אותו (file_get_contents וecho אמור לעבוד לפי דעתי)
|
תראה, נגיד ובן אדם נכנס לכתובת הזו: http://www.eample.com/images/dor/pic.png
מה אני יכול לעשות? הדפדפן ישר יאפשר לו הורדה. לחסום גישה מבחוץ, איך אני חוסם? אני יכול לחסום גישה לתיקייה, אבל לנתיב שלם? |
כמו שאמרתי אתה יכול לעשות עם HTACCESS שזה יראה כמו תיקיה ותיצור קובץ בPHP שיהיה בתוכו תנאי שאם הוא יהיה לו גישה התמונה תופיע
|
ציטוט:
זה מה ששמתי בhtacces: PHP קוד:
PHP קוד:
http://www.eample.com/images/dor/pic.png ואכן רואה את התמונה..אבל איפה בקובץ php אני יכול להכניס בדיקה מתאימה? בקיצור, אני לא רואה שקורה משהו..מה אני לא עושה בסדר? זה פשוט מתסכל.. אין פיתרון אחר מלבד htacces? גם לא מצאתי מקום שמלמד על זה בצורה מקיפה..בעברית בכלל אין. שלא תבינו לא נכון, אני מאוד מאוד מאוד מעריך ומודה לכם, אני פשוט מתוסכל. תודה. |
מה הבעיה? כבר הגעת לשלב האחרון. שים התחברות למסד ושליפה ממנו של IP מורשה, או בדיקת סשן, או כל מה שתרצה..
אפילו במצב קיצוני: תשתמש בchallenge-response בשביל להציג את התמונות בעמוד, שלח דרך GET את הresponse ותגביל אותו לתקופת זמן של דקה. ככה הכל יעבוד פרפקט ומי שירצה לקשר מבחוץ לא יוכל. |
ציטוט:
אתה מדבר טיפה סינית בשבילי :-) תודה רבה לך, תודה! |
תקשיב
אתה רוצה שגולש X מורשה יצפה בזה וגולש Y לא מורשה לא יצפה מה מייחד את X על פני Y? |
ציטוט:
אבל עזוב, נראה לי שאני קרוב להגיע לזה..תראה. כאשר המתמש ירצה להוריד קובץ אני אשלח אותו לדף שיבדוק אם הקבצים שהוא מתכוון להוריד הם אכן שלו. אם כן אני אתן לו לנק להורדה על ידי header כזה: PHP קוד:
סתם לעניין, מה אומרת השורה הזו: header('Content-type: application/pdf'); ? באיזה סיומת הקובץ? אפשר לוותר עלייה? תודה. |
סתם שאלה, אם אני אגש לקובץ original.pdf איכשהו, מה אז תעשה?
וכן, זה חשוב, זה מצהיר שה-mime type של הקובץ הוא מסוג pdf. אתה יכול לשנות את זה גם לcontent/octet-stream, אם אתה רוצה לוודא שזה יוריד את הקובץ כל פעם במקום לפתוח אותו בדפדפן. |
אז ככה,
בזמן שחיכיתי לתגובה שלך, התיישבתי על הכיסא, הפעלתי את הראש והצלחתי לעשות משהו. אז ככה, פה אני מקבל את הקבצים של אותו משתמש: PHP קוד:
PHP קוד:
יש מצב שאיכשהו הצלחתי? עוד משהו בקשר לשורה ההיא, לא כל כך הבטנתי מה עושה מה שכתבת, במה זה שונה? עוד משהו, איך אני יכול לדעת סיומת של קובץ? אם אני מכניס song.mp3 אז שהוא יחזיר mp3 וכנ"ל ל abc.doc? תודה רבה. |
הכיוון טוב, חסרה לך אבטחה, ושוב - אם ניגשים לקובץ $file_name_read ישירות, מה קורה?
בשביל לדעת את הסיומת, אני כותב באוויר אז אני מקווה שזה בסדר: PHP קוד:
|
ציטוט:
תוכל לעזור לי? איך אני מונע מצב כזה, איך אני מבאטח את זה? תודה. |
כל הזמנים הם GMT +2. הזמן כעת הוא 00:37. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ