הרשם | שאלות ותשובות | רשימת חברים | לוח שנה | הודעות מהיום | חיפוש |
|
|
כלים לאשכול | תצורת הצגה |
08-09-13, 01:37 | # 1 |
חבר וותיק
|
האם אתם מאבטחים מידע שנשלף מהמסד או רק לפני הכנסתו?
הרוב המוחלט של המתכנתים (שאני נתקלתי בקודים שלהם לפחות) דואגים לאבטח מידע לפני שהוא נכנס למסד..
רציתי לדעת האם אתם מאבטחים מידע גם לאחר שליפתו? (יש מצב שהשתילו משהו במסד, לא?) זאת אומרת משהו כזה: PHP קוד:
עוד שאלה, פונקציית אבטחה בסיסית כמו זו מספיקה לדעתכם או שהייתם מוסיפים לה עוד כמה תוספות? כמובן שבשליפת מספר בGET לעטוף גם ב intval. PHP קוד:
__________________
מתכנת php אמין ומקצועי. מחירים נוחים! יצירת קשר: 0544378743 |
08-09-13, 07:17 | # 2 |
עסק רשום [?]
|
לפני שאתה מכניס למסד נתונים אתה צריך לדאוג שההכנסה למסד נתונים תיהיה מאובטחת (אם למשל הקלט שלך הוא מספר, כל מה שאתה צריך זה להשתמש בפונקציה intval ולא מעבר לזה)
ולהשתמש נכון בפונקציות (אם תשתמש בmysql_real_escape_string בשאילתה הבאה: SELECT * FROM `table` WHERE `column` = $myvar - עדיין תיהיה פגיע ל-SQLi (את $myvar צריך להכניס לתוך מחרוזת - '$myvar') וגם בשליפה אותו הדבר - אתה צריך לחשוב על איפה אתה הולך למקם את הפלט, ולהשתמש בו בהתאם. אתה הולך להציג מספר? intval יעשה את העבודה. וגם פה - חשוב לדעת בדיוק לאן אתה מכניס את הפלט - אם לדוגמה תעשה ככה: <img src="blabla.jpg" $attr_output /> גם אם תשתמש בפונקציה htmlspecialchars עדיין יהיה XSS באתר שלך. אין "פונקציית אבטחה גנרית" - אתה צריך ללמוד ולהבין איך הפירצות עובדות - וככה להתאים את עצמך בהתאם לקלט / פלט שאתה עובד איתו.
__________________
BuildDream בניית אתרי אינטרנט לשירותך. עסק רשום במס הכנסה ומספק קבלות כחוק. www.BuildDream.co.il - www.iBuild.co.il |
08-09-13, 07:29 | # 3 |
עסק רשום [?]
|
למניעת SQL Injection רצוי להשתמש בספרייה שתומכת ב- Parameter Binding, זה עדיף על פני הפונקציה שהצגת.
להגנה מפני XSS יש להשתמש בפונקציה htmlspecialchars, להבין מה אתה עושה ולהתנהג בהתאם, לא תמיד זה יספיק. השיקול של האם לסנן בהזנה או בשליפה זה שיקול של ביצועים מול אבטחה, ברוב המקרים הפרש הביצועים זניח מאוד ולכן זה בסדר ובטוח יותר לסנן בשליפה. הפונקציה שלך נמצאת על גבול ה- בסדר/לא טובה, היא עושה את אותן פעולות תמיד בלי שום קשר למה שבאמת צריך להעשות. בהתעסקות עם קלט שהוא מספר יש שיטה נוקשה יותר שאומרת להחזיר שגיאה ולא להפוך אותו למספר כשהוא לא מספר, בהרבה מקרים זה בטוח ונכון יותר. לצורך העניין הדוגמה שהצגת לא טובה, הבדיקה היחידה שאמורה להיות שם זה האם הקלט הוא מספר או לא - אם הוא לא מספר אז להחזיר שגיאה, אין שום צורך בכל הסינונים האלו, אם הוא לא מספר זה כבר יפול לבד. |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|