ABA


"לא מצליח לעדכן שדה במסד אם המשתנה מכיל גרש"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #14463 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14463
Groove
חבר מתאריך 6.8.11
219 הודעות
   21:57   07.10.08   
אל הפורום  
  לא מצליח לעדכן שדה במסד אם המשתנה מכיל גרש  
 
   ערכתי לאחרונה בתאריך 07.10.08 בשעה 21:58 בברכה, Groove
 
זה קורה גם אחרי

$val = mysql_real_escape_string( stripslashes ( $values ) );
return addslashes ( htmlentities ( $val ) );

יש פונקציית ESCAPE יותר טובה ממה שאני משתמש עכשיו?

תודה לכם..


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  ... little O man 07.10.08 22:08 1
  יש משו מוזר בקוד שלך חח:| akoka 07.10.08 22:10 2
  fixed Groove 07.10.08 22:26 3
  או שלא... =\ Groove 07.10.08 22:45 4
  UP? Groove 10.10.08 13:38 5
     אני ב .NET משתמש בפקודה lior066 10.10.08 13:48 6
         בPHP יש פונקציה שנועדה במיוחד למנוע akoka 10.10.08 17:04 7
         טעות גדולה! תעבור לשימוש בפרמטרים! Sn00py  10.10.08 17:55 8
             וכמובן אם אתה עובד עם כל אובייקט אחר נגיד TableAdapter Sn00py  10.10.08 17:56 9
             אני כבר עברתי ל LINQ lior066 12.10.08 04:14 11
                 לא צריך אופציה כזאת:| למה לסבך את העולם? akoka 12.10.08 08:23 12
  תעבוד רק עם addslashes. כשאתה שולף מהמסד תעבוד עם stripslashes. FireAngel 12.10.08 02:53 10

       
little O man
חבר מתאריך 27.5.02
1109 הודעות, דרג אמינות חבר זה
   22:08   07.10.08   
אל הפורום  
  1. ...  
בתגובה להודעה מספר 0
 
   תנסה addslashes צריך להספיק, אולי תנסה גם את htmlspecialchars אבל תלוי מה המחרוזת שמתקבלת.
אני בדר"כ משתמש בaddslashes\strip וזה מספיק.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   22:10   07.10.08   
אל הפורום  
  2. יש משו מוזר בקוד שלך חח:|  
בתגובה להודעה מספר 0
 
   stripslashes אמור לרוץ על המחרוזת שעשית לה escape ואתה מכניס אותה בתוך הפונקציה של הESCAPE?:S

תעשה פשוט addslashes תכניס למסד ותריץ stripslashes לא צריך מעבר לזה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   22:26   07.10.08   
אל הפורום  
  3. fixed  
בתגובה להודעה מספר 0
 
  

$ret = mysql_real_escape_string( stripslashes ( $values ) );
$ret = addslashes ( $ret );
return $ret;


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   22:45   07.10.08   
אל הפורום  
  4. או שלא... =\  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   13:38   10.10.08   
אל הפורום  
  5. UP?  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

דרג אמינות חבר זה
   13:48   10.10.08   
אל הפורום  
  6. אני ב .NET משתמש בפקודה  
בתגובה להודעה מספר 5
 
   Raplace

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

StrSql = "Insery Into Database (field) values (Somthing.. with ');";
StrSql = StrSql.replace("'","\'");

אמורה להיות פונקציה כזאת PHP .. שמחליפה אותויות בסטרינג..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   17:04   10.10.08   
אל הפורום  
  7. בPHP יש פונקציה שנועדה במיוחד למנוע  
בתגובה להודעה מספר 6
 
   SQL INJECTION ,ויש אותה גם מובנית בתוך MYSQL בגירסאות האחרונות אם אני לא טועה ,וגם בתוך PHP ,פשוט לעשות בתוך השאילתא


INSERT INTO `USERS` (`A`) VALUES ('".mysql_real_escape_string($something)."')

אבל אין צורך לעשות את זה ככה משתמשים בaddslashes שמבריח די טוב את המחרוזת ,ואם רוצים ללכת ממש רחוק לעשות את זה ידני אז משתמשים בstr_replace אני לא רואה צורך בזה בכו"א.

אגב כדי להדפיס את המחרוזת משתמשים בstripslashes.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות, דרג אמינות חבר זה
   17:55   10.10.08   
אל הפורום  
  8. טעות גדולה! תעבור לשימוש בפרמטרים!  
בתגובה להודעה מספר 6
 
   זה מונע 99 אחוז ממתקפות SQL INJECTION, מה שהחלפה של גרש בודד ממש אבל ממש לא!
למה לעבוד בדרך כל כך ישנה ופרימיטבית שנותנת לך הגנה מסקריפט קידיז של שנות ה-90? תתקדם לדרך שמונעת כמעט כל אפשרות ל SQL INJECTION, והרבה יותר נוחה - פרמטרים! דוגמת שימוש: (מקווה שאין טעות סינטקס, אני כותב כאן ולא בדיבאגר)

OleDbCommand objCmd = new OleDbCommand("Insert into Database (field1, field2, field3) values (@id, @some, @thing)", objConn);
objCmd.Parameters.Add("@id", OleDbType.Numeric).Value = 1;
objCmd.Parameters.Add("@some", OleDbType.VarChar).Value = txtLa.Text;
objCmd.Parameters.Add("@thing", OleDbType.VarChar).Value = txtNa.Text;

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות, דרג אמינות חבר זה
   17:56   10.10.08   
אל הפורום  
  9. וכמובן אם אתה עובד עם כל אובייקט אחר נגיד TableAdapter  
בתגובה להודעה מספר 8
 
   יש לך מתודה בשם SelectCommand שמקבלת OleDbCommand... וזה הכל! תשכח מ SQL INJECTION.

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
lior066

דרג אמינות חבר זה
   04:14   12.10.08   
אל הפורום  
  11. אני כבר עברתי ל LINQ  
בתגובה להודעה מספר 8
 
   אני מדבר על תחילת דרכי , ב PHP אני לא יודע אם יש בכלל אופציה לשימוש בפרמטרים..


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   08:23   12.10.08   
אל הפורום  
  12. לא צריך אופציה כזאת:| למה לסבך את העולם?  
בתגובה להודעה מספר 11
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
FireAngel

דרג אמינות חבר זה
   02:53   12.10.08   
אל הפורום  
  10. תעבוד רק עם addslashes. כשאתה שולף מהמסד תעבוד עם stripslashes.  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net