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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 13-07-06, 01:19   # 1
Alon.R
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 2,435

Alon.R לא מחובר  

[PHP] מה הייעוד של שני הפונקציות הבאות

PHP קוד:
mysql_real_escape_string
mysql_escape_string 
הבנתי שזה קשור ל mysql inj ולאבטחה כמובן... השאלה היא מה הייעוד שלהן? מה הן עושות וכיצד הן עוזרות... (השעה 2 וחצי ככה שאני לא ממש מצליח להבין..)
  Reply With Quote
ישן 13-07-06, 01:29   # 2
miniature
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,754

miniature לא מחובר  

mysql_escape_string - הוספת תווים לפני תווים מיוחדים.
mysql_real_escape_string - השמטת / החלפת תווים מיוחדים.

לא בטוח, תמיד תוכל להסתכל באתר www.php.net
__________________
יואב.

דרכים ליצירת קשר:

אימייל: thebigfire@walla.co.il
הודעה פרטית
  Reply With Quote
ישן 13-07-06, 01:40   # 3
Alon.R
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 2,435

Alon.R לא מחובר  

הסתכלתי...
ואני גם לא בטוח...
יהיה נכון להשתמש בייעוד שלהן ככה:

mysql_real_escape_string($var);

mysql_query("SELECT............. WHERE id=$val");

ואז...בשביל להוציא לפלט את הערך שהוא חיפש למשל...
&quot ב" רגילאז נחליף את ה

str_replace("&quot",""",$val);

echo "נמצאו ..... תוצאות לערך'" . $val . "'";
  Reply With Quote
ישן 13-07-06, 13:02   # 4
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

זה לא טוב למערכות גדולות....אתה צריך פתרון יעיל.. שלא תצטרך להתעסק בקטנות כל הזמן
  Reply With Quote
ישן 13-07-06, 13:08   # 5
miniature
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,754

miniature לא מחובר  

ציטוט:
נכתב במקור על ידי RS324
זה לא טוב למערכות גדולות....אתה צריך פתרון יעיל.. שלא תצטרך להתעסק בקטנות כל הזמן
ומהו?
לאחר החזרת התווים מהמסד יש משהו טוב שאפשר לעשות (הקוד לא שלי):
PHP קוד:
 function quote_smart($value

   
// Stripslashes 
   
if (get_magic_quotes_gpc()) { 
       
$value stripslashes($value); 
   } 
   
// Quote if not a number or a numeric string 
   
if (!is_numeric($value)) { 
       
$value "'" mysql_real_escape_string($value) . "'"
   } 
   return 
$value

__________________
יואב.

דרכים ליצירת קשר:

אימייל: thebigfire@walla.co.il
הודעה פרטית
  Reply With Quote
ישן 13-07-06, 13:13   # 6
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

טוב אז ככה, קודם כל בקובץ גלובלי עשיתי שיבדוק אם MEGIC QOUTES פעיל או לא
אם כן מסיר את כל הסלאשים שהחרא הזה הוסיף ואז שם אותו על 0
ini_set(magic_qoutes_runtime,0) משהו כזה - לא זוכר בדיוק,
לאחר מכן עשיתי פונקציה שנקראת CLEAN שעובר על המערך ועושה MYSQL_REAL_ESCAPESTRING או את השני - לא זוכר כבר.
וזהו בעת ההכנסה למסד לא הייתה לי בעיה
ובעת ההוצאה מהמסד אין לי בעיה... וגם בדקתי עבור SQL INJECTION ואין עם זה שום בעיה
  Reply With Quote
ישן 13-07-06, 13:31   # 7
miniature
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,754

miniature לא מחובר  

ציטוט:
נכתב במקור על ידי RS324
טוב אז ככה, קודם כל בקובץ גלובלי עשיתי שיבדוק אם MEGIC QOUTES פעיל או לא
אם כן מסיר את כל הסלאשים שהחרא הזה הוסיף ואז שם אותו על 0
ini_set(magic_qoutes_runtime,0) משהו כזה - לא זוכר בדיוק,
לאחר מכן עשיתי פונקציה שנקראת CLEAN שעובר על המערך ועושה MYSQL_REAL_ESCAPESTRING או את השני - לא זוכר כבר.
וזהו בעת ההכנסה למסד לא הייתה לי בעיה
ובעת ההוצאה מהמסד אין לי בעיה... וגם בדקתי עבור SQL INJECTION ואין עם זה שום בעיה
אים משהו יותר פשוט?
__________________
יואב.

דרכים ליצירת קשר:

אימייל: thebigfire@walla.co.il
הודעה פרטית
  Reply With Quote
ישן 13-07-06, 15:16   # 8
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

זה הכי פשוט שיש כי לדוגמא לפני שאילתה אני פשוט עושה
$_GET = clean($_GET)
וזהו... זה בטוח מכל SQL INECJTION שתרצה
  Reply With Quote
ישן 13-07-06, 15:38   # 9
miniature
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 1,754

miniature לא מחובר  

מה הפונקציה clean עושה?
__________________
יואב.

דרכים ליצירת קשר:

אימייל: thebigfire@walla.co.il
הודעה פרטית
  Reply With Quote
ישן 13-07-06, 17:23   # 10
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

מגנה מפני SQL INJECTION בעזרת MYSQL_REAL_ESCAPE_STRING על כל אברי המערך
לפני שאילתה.

יש כמובן עוד פונקציה שמבטלת את ההשפעה של magic_qoutes_runtime שאני מריץ אותה בכל מקרה לפני.
  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. הזמן כעת הוא 14:13.

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