הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 08-09-13, 01:37   # 1
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

האם אתם מאבטחים מידע שנשלף מהמסד או רק לפני הכנסתו?

הרוב המוחלט של המתכנתים (שאני נתקלתי בקודים שלהם לפחות) דואגים לאבטח מידע לפני שהוא נכנס למסד..
רציתי לדעת האם אתם מאבטחים מידע גם לאחר שליפתו? (יש מצב שהשתילו משהו במסד, לא?)

זאת אומרת משהו כזה:
PHP קוד:
$id secure($row['id']); 
?

עוד שאלה, פונקציית אבטחה בסיסית כמו זו מספיקה לדעתכם או שהייתם מוסיפים לה עוד כמה תוספות?
כמובן שבשליפת מספר בGET לעטוף גם ב intval.

PHP קוד:
unction secure($value) {
    return 
mysql_real_escape_string(strip_tags(htmlspecialchars($value)));

אשמח לשמוע מה אתם חושבים..
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 08-09-13, 07:17   # 2
BuildDream
עסק רשום [?]
 
BuildDream's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2010
הודעות: 527
Send a message via Skype™ to BuildDream

BuildDream לא מחובר  

לפני שאתה מכניס למסד נתונים אתה צריך לדאוג שההכנסה למסד נתונים תיהיה מאובטחת (אם למשל הקלט שלך הוא מספר, כל מה שאתה צריך זה להשתמש בפונקציה 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
  Reply With Quote
ישן 08-09-13, 07:29   # 3
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

למניעת SQL Injection רצוי להשתמש בספרייה שתומכת ב- Parameter Binding, זה עדיף על פני הפונקציה שהצגת.
להגנה מפני XSS יש להשתמש בפונקציה htmlspecialchars, להבין מה אתה עושה ולהתנהג בהתאם, לא תמיד זה יספיק.
השיקול של האם לסנן בהזנה או בשליפה זה שיקול של ביצועים מול אבטחה, ברוב המקרים הפרש הביצועים זניח מאוד ולכן זה בסדר ובטוח יותר לסנן בשליפה.

הפונקציה שלך נמצאת על גבול ה- בסדר/לא טובה, היא עושה את אותן פעולות תמיד בלי שום קשר למה שבאמת צריך להעשות.

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

לצורך העניין הדוגמה שהצגת לא טובה, הבדיקה היחידה שאמורה להיות שם זה האם הקלט הוא מספר או לא - אם הוא לא מספר אז להחזיר שגיאה, אין שום צורך בכל הסינונים האלו, אם הוא לא מספר זה כבר יפול לבד.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 21:54.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ