? eval (מחברת 5 שבוע 4)

לפי התיאור במחברת יש פה טעות באיות. פשוט היה צריך להיות evil …

לייק 1

אני בד"כ עושה את הבדיחה הזו בכיתות, מקבל הרבה מבטים של I am not impressed בתמורה :stuck_out_tongue:

3 לייקים

תמונה

3 לייקים

ועכשיו ברצינות, למה לכותבי התוכנה בכלל ליצור פונקציה כזאת מהתחלה ? הרי זה מתכון מעולה לפרצות אבטחה ממה שקראתי.

לייק 1

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

בגדול חוץ מפעולות מתמטיות אני לא רואה סיבה מספיק טובה להשתמש בה - אבל גם אז אם זה זה או קוד יותר בטוח. מעדיף את השני ולהוסיף איזה פונקציה שתתעסק עם הקלט ותתרגם אותו. :confused:

ואכן בקוד אמיתי שנבנה על־ידי מתכנתים אחראיים, משתדלים להימנע כמה שאפשר משימוש ב־eval