![]() |
חדשות טובות למתכנתי הPHP: אין SAFE MODE יותר
http://php.net/SAFE%20MODE
Warning Safe Mode was removed in PHP 6.0.0. זהו, אין סייף מוד יותר מPHP 6.0 =] |
ציטוט:
עד שנגיע שלכולם יהיה 6...זה יקח עוד הרבה הרבה זמן. שלא נדבר על זה שאנשים לא ירצו לשים 6 בדיוק בגלל הסיבה הזאת...אלא אם כן, הערכים של SAFE MODE יהיו מובנים ואם כן, מה בעצם השגת בזה;) |
אממ לא מדוייק.
לא עברו ל5 רק בגלל שיש שינוי עצום בין 4 ל5 לעומת בין 3 ל4. המעבר בין 3 ל4 לא היה במבנה השפה, ולא שינו שום דבר, רק הוסיפו. כעקרון זה מה שמתכוונים לעשות בPHP6. להוסיף לPHP4 ולחזור למבנה השפה הקודם.. בכל מקרה אל תהרוס לי תשמחה. :( בטח יהיה משהו אחר במקום SAFE MODE.. אבל הם יפיקו לקחים. |
אם ילמדו את הPHP לרוץ כיוזר מסויים זה יהיה סוף לכל הצרות.
|
ציטוט:
לוקח (הרבה) זמן עד שעוברים לגרסה חדשה....זה לא יהיה הוקוס פוקוס.....6 לא יגיע כ"כ מהר לשרתים בארץ. |
אני בטוח שזה לא הדבר היחיד שישתנה ב6.
אבל אני מקווה שלפחות הסינטקס של השפה ישאר דומה ל4.. בניה זה בטח לא כ"כ פשוט כמו שזה נשמע אולי בWINDOWS זה פשוט (אל תשכח שמי שכותב את שפות הWINDOWS הם מייקרוסופט ולהם יש גישה מלאה לזה) אבל בלינוקס אני לא בטוח בכלל.. |
ציטוט:
אלא להפך, יהם יפתחו יותר את 5 - גרסא 5 תומכת בOOP בצורה הרבה יותר טובה מ 4 ולכיוון הזה העולם הולך, PHP לא ירשה לעצמו להשאר מאחור. אם כבר פתחת את הדיון הזה, אז השינוי אולי המשמעותי ביותר זה ש PHP6 יתמוך באופן מלא ב UNICODE כולל כל הפונקציות הבסיסיות שזה בעצם החידוש המשמעותי! |
ציטוט:
|
מה שאני רוצה זה שיוסיפו באופן מובנה את שמירת הקוד המקופל של PHP במקום כל פעם לקמפל את הדף מחדש.
אבל לזנד יש מוצרים בתשלום שעושים את זה אז לא נראה לי שהם ירוצו להוסיף את זה. |
קצת באיחור..
אם אני לא טועה זה פורסם באתר לפני כמה חודשים |
אם אני לא טועה אף אחד לא הביא את זה פה לדיון עד עכשיו O.ם
|
ציטוט:
ואני לא מדבר על זה שהוסיפו עוד הרבה פונקציות שימושיות. |
אני אישית לא יודע.
אבל קראתי דברים שכתבו אנשים (והרבה) שאמרו שהאתר שלהם פשוט לא פעל בPHP5 ופעל ב4.. |
מקווה שיש להם תחליף טוב,
אני לא מתכנת אבל אני כן מתעסק באבטחת מידע, safe_mode הוא אחד הדברים היותר פשוטים שמוסיפים לא מעט לאבטחת השרת (ובכלל, האפליקציות עליו). |
אבל זו אכן מכה לנוחיות השימוש בPHP.
אולי אפשר לעשות שהPHP ירוץ על משתמש עם גישה לקבצים של כל המשתמשים ויתן גישה לקבצים של יוזר רק מקבצי PHP שהבעלים שלהם הוא הבעלים של הקבצים. וגם את כל הקבצים שהוא יוצר, שיגדיר את הבעלים כבעל קובץ הPHP. |
ציטוט:
הרי רוב הבעיה שsafe_mode גורם היא כשמנסים לעשות פעולה כלשהיא על קובץ (להעלות קובץ, לשנות שם, להעביר מקום, להעתיק..), כל אלו אפשר לעשות גם באמצעות FTP דרך פונקציות של PHP..זה יושם מאוד יפה לדוגמא בjoomla 1.5 מומלץ בחום :) |
ציטוט:
אז משנים גם את ה PHP.INI ואת ההגדרות שם יכול להיות שזה הסיבה לכך שהאתרים לא עובדים... סיבה נוספת היא יכולה להיות גם שינוי של הגרסא של המסד של MYSQL , כשעושים עידכונים, יש הרבה סיבות בכל מקרה PHP 5 קורא באופן מושלם את כל ההגדרות של הגרסא הקודמת. כמו ש PHP 4 קורא באופן מושלם את PHP 3 כשהחברה מוציאה גרסא חדשה, היא לא מבטלת את הישנה היא פשוט גורמת לאתרים שכתובים בישן להשתמש בגרסא החדשה... השינוי העיקרי בין הגרסאות הוא פונקציות נוספות. שינוי גדול נוסף בין 4 ל 5 הוא המנוע שהמערכת משתמשת גרסא 4 = ZEND ENGINE 1 גרסא 5 = ZEND ENGINE 2 עקרונית ZEND ENGINE 2 הרבה יותר מהיר מ 1. לכן, עד שאני לא אראה הוכחה חותכת, מצטער אבל יהיה לי קשה להאמין אני אתן לך דוגמא הכי פשוטה נקח פונקציה כמו רגילה, לדוגמא : SIZEOF שסופרת מספר איברים במערך http://il.php.net/sizeof לפי התיעוד כתוב שם במפורש : (PHP 4, PHP 5) כלומר הגרסאות שיכולות להפעיל את הפונקציה הזאת. אם תמצא פונקציה או כל דבר ש PHP4 יכול להפעיל ו PHP 5 לא, אני מוכן לשלם לך כסף. |
ציטוט:
עדיין אם הם רוצים שPHP יכנס יותר חזק שיספקו פתרונות לזה. |
רותם,
לדוגמא הפונקציה mktime בphp4 יכולה לקבל ערכים כnull, בPhp5 זה כבר לא אפשרי, באג מוכר, קורה לא מעט במערכות phpnuke שמשתמשות בפונקציה ביומן המובנה שלהם. (למרות שבאופן דיי מפתיע בhttp://il.php.net/mktime זה אפילו לא מוזכר) |
היום יש פתרונות להכל במקום SAFE MODE, השאלה היא כמה נוח לעקוף את זה.
למשל יצרתי פונקציית העלאת קבצים שעוקפת SAFE MODE בקלות, אבל הרבה יותר פשוט לרשום move_uploaded_file ... |
ציטוט:
האם אתה משתמש בגרסא האחרונה של 4 ? 4.4.7 ? יכול להיות שבעבר הרחוק (בלי קשר ל 5) איפשרו להכניס NULL והיום כבר לא מאפשרים בכל אופן, אם תקח את הגרסאות החדשות של 4 ו 5 תראה שהם מתנהגות אותו הדבר. ציטוט:
ההיגיון של זה פשוט וברור, תחשוב שאתה מעלה קובץ PHP לשרת שהאדמין שלו טיפש (והפונקציות המסוכונות מאופשרות לדוגמא SYSTEM), אתה לא רוצה לדעת באיזה קלות היו נפרצים שרתים - למרות שגם את זה יש דרכים לעקוף - תלוי כמה אתה מתמצא בשפה) הבעיה העיקרית היא עם פונקציות אחרות שמושפעות מה SAFE_MODE , כמו לדוגמא session_save_path ודומיהן |
אני לא יודע, בד"כ בעלי שרתים שחוסמים את זה לא חוסמים רק העלאת PHP, הם פשוט שמים את move_uploaded_file בתוך disable_functions וזהו. (רוב השרתים נתנו לי שגיאה כזאת ולא שגיאה ספציפית לפונקצייה).
|
למה בשורות טובות?
safe mode דווקא מגן בצורות מסוימות.. אתה פשוט לא שם לב לזה.. |
ציטוט:
כשאתה מעלה קובץ אם זה תמונה ומעביר אותו בעזרת הפונקציה לתיקייה (שיש עליה 777) אז כשתנסה לראות את התמונה היא תעבוד בסדר, גם אם בשרת SAFE_MODE דולק. אם העלית קובץ PHP והשתמשת בפונקציה MOVE_UPLOADED_FILE כשתנסה להכנס אליו (ו SAFE_MODE דולק) הוא לא ייתן לך, ויראה לך ארור שקשור ליוזרים של המערכת. עקרונית הסיבה של זה זה שהמערכת יצרה את הקובץ ולכן ליוזר אין גישה לזה. זה כל הסיפור של ההעלאת קבצים ו SAFE_MODE אני לא יודע במה אנשים מסתבכים כלכך אבל לא חשוב |
ציטוט:
איך? |Rolleyes| ציטוט:
|
ציטוט:
אבל אני מניח שלא סתם עשו את זה כי בא להם.. |
הלוואי שלא יהיה יותר Safe Mod !!!
|
לא מספיק שהקפצת, נתת גם תגובה חסרת טעם ומשמעות.
נעול. |
כל הזמנים הם GMT +2. הזמן כעת הוא 17:49. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ