בטיחות באינפוט של משתמש

היי תוך כדי שאני עובד על הטיקט שלי, אני מגיע לדילמה…
יש בעורך טקסט שאני מנסה לעבוד איתו אפשרות להעלות קבצים/תמונות וכו’…
א. האם יש צורך למנוע ממשתמש העלאת קבצים? ובמידה ולא כיצד צריך לאבטח את זה?
ב. אני מתכנן לשמור את הhtml שהוא מעביר ולנקות אותו עם ספריית bleach, האם יש בזה בעיה?

אשמח לעזרתכם!

אלו שאלות מצוינות.

אנחנו יכולים להרשות העלאת קבצים אם אנחנו דואגים לאבטח את זה היטב.
אפשר להרשות להעלות רק סוגי קבצים מסוימים (בטוח לא קובצי py, לדוגמה – כדי שלא יסתיים בהרצת קוד).
באופן כללי שווה לחפש “Secure file upload” באינטרנט, יש על זה המון המון מידע.

בנוגע לניקוי של ה־HTML באמצעות המודול bleach, אני לא בטוח שזה מספיק והייתי מפרגן גם ב־escape של Jinja2.
חשוב שלא להציג HTML שג’ונרט ע"י המשתמש באתר ולא הוברח כראוי, אחרת זה עלול לגרום ל־XSS.