| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <sect1 id="zend.view.migration">
- <title>עדכון מגרסאות קודמות</title>
- <para>
- פרק זה נועד בעיקר למידע אודות עדכון המערכות שלכם שנכתבו על גבי גרסאות קודמות של Zend Framework ודורשות עדכונים מסויימים כדי לעבוד עם הגרסאות החדשות.
- </para>
- <sect2 id="zend.view.migration.zf5748">
- <title>עדכון מגרסאות קודמות ל 1.7.5</title>
- <para>
- לפני גרסאת 1.7.5, צוות Zend Framework קבל דיווח על פירצת אבטחה אשר מאפשרת הוספת קובץ מקומי במתודת ה <code>Zend_View::render()</code>. הפרצה היא מסוג
- Local File Inclusion (LFI). בגרסאות קודמות ל 1.7.5 המתודה הזאת אפשרה כברירת מחדל להוסיף קבצי תצוגה אשר הכילו ציון לתקיה הראשית או תיקיה אחת מעלה
- לדוגמא "../" או "..\" .
- זה מאפשר לפרצת אבטחה מסוג LFI אם הקובץ תצוגה שאמור להיות מוצג מתקבל על ידי הזנת משתמש לדוגמא:
- </para>
- <programlisting role="php"><![CDATA[
- // Where $_GET['foobar'] = '../../../../etc/passwd'
- echo $view->render($_GET['foobar']); // LFI inclusion
- ]]></programlisting>
- <para>
- כעת <code>Zend_View</code> כברירת מחדל תזרוק שגיאה על ידי חריגים ברגע שיהיה ניסיון בטעינת קובץ בדרך זו.
- </para>
- <sect3 id="zend.view.migration.zf5748.disabling">
- <title>ביטול הגנה מפני LFI במתודת ה render()</title>
- <para>
- מאחר וכמה מתכנתים דווחו שהם משתמשים בדרך זו של טעינה של קבצים אשר לא מתקבלים על ידי הזנת משתמשים, נוצר סימון מיוחד אשר מאפשר ביטול ההגנה זו כברירת מחדל.
- ישנם 2 דרכים לעשות זאת: על ידי העברת הפרמטר 'lfiProtectionOn' כשיוצרים את אובייקט התצוגה, או על ידי קריאה למתודת ה <code>setLfiProtection()</code> .
- </para>
- <programlisting role="php"><![CDATA[
- // Disabling via constructor
- $view = new Zend_View(array('lfiProtectionOn' => false));
- // Disabling via exlicit method call:
- $view = new Zend_View();
- $view->setLfiProtection(false);
- ]]></programlisting>
- </sect3>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|