הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [php] הכנסת נתונים למסד (https://hosts.co.il/forums/showthread.php?t=77129)

Xinxy 30-07-09 14:39

[php] הכנסת נתונים למסד
 
אהלן, כשאני מכניס למסד נתונים מידע, בשביל הדוגמה אני מכניס לו את זה:
PHP קוד:

$query mysql_query("INSERT INTO `blabla` VALUES('bla', '".mysql_real_escape_string(htmlspecialchars("\""))."')"); 

זה מכניס לי bla
וגם
קוד:

\"
שכאן זה הבעיה
כשאני מוציא את הנתונים הם יוצאים בדיוק איך שהם נראים בטבלה, כלומר
קוד:

bla, \"
ולא ככה:
קוד:

bla, "
אמ.. אז איך אפשר להכניס את הנתונים בלי שתהיה בעית אבטחה והנתונים יוכנסו טוב?

תודה לעוזרים

EpsilonTal 30-07-09 14:50

אתה יכול לעשות שברגע שהמערכת מוציאה את הנתונים
שתתרגם כל \" ל רווח

Daniel 30-07-09 15:14

ציטוט:

נכתב במקור על ידי EpsilonTal (פרסם 730944)
אתה יכול לעשות שברגע שהמערכת מוציאה את הנתונים
שתתרגם כל \" ל רווח

וזאת תיהיה אי יעילות רצינית... בכל מקרה, מה אתה עושה כשאתה מציג את המידע?

Xinxy 30-07-09 15:57

אמ.. לא עושה שום דבר :\
PHP קוד:

while($row mysql_fetch_array($kk))
{
echo 
$row['one'].",".$row['two'];


עריכה:
אם אני יעשה ההפך זה ישנה? כלומר:
PHP קוד:

htmlspecialchars(mysql_real_escape_string("\"")); 


Daniel 30-07-09 17:29

תקרא על מה htmlspecialchars עושה ומה mysql_real_escape_string עושה.

אם אתה עושה בדיוק ככה כמו שאמרת, אני לא רואה שום סיבה למה זה לא מוצג כראוי..

Xinxy 30-07-09 18:01

ציטוט:

נכתב במקור על ידי MasterT (פרסם 730984)
תקרא על מה htmlspecialchars עושה ומה mysql_real_escape_string עושה.

אם אתה עושה בדיוק ככה כמו שאמרת, אני לא רואה שום סיבה למה זה לא מוצג כראוי..

אני יודע מה זה עושה, זה לא עובד לי כמו שעשיתי אז אני פשוט מחפש דרכים אחרות :\

Daniel 30-07-09 19:10

אני לא שואל סתם.

אני בדקתי - עשיתי שחזור, בדיוק מה שאתה "כביכול" עשית וזה עבד לי מצויין. לא היה שום סלאש ושום כלום...

עכשיו אתה מוכן בבקשה לתת לנו את הקוד המלא? כי זה לא יכול להיות הקוד המלא, כי הוא עובד מצויין.

אדיר 30-07-09 19:33

לפני שאתה משתמש ב- mysql_real_escape_string תוודא קודם כל מה קורה עם ה- magic_quotes.

Daniel 30-07-09 19:40

ציטוט:

נכתב במקור על ידי xPerfection (פרסם 731006)
לפני שאתה משתמש ב- mysql_real_escape_string תוודא קודם כל מה קורה עם ה- magic_quotes.

בדוגמא שהוא נתן
PHP קוד:

 $query mysql_query("INSERT INTO `blabla` VALUES('bla', '".mysql_real_escape_string(htmlspecialchars("\""))."')"); 

אין שום קשר ל-magic quotes. מה שמראה שהוא לא מראה לנו את הקוד האמיתי.

אדיר 31-07-09 03:45

הקשר ל- magic quotes הוא שאם הוא מופעל זה גורם לאסקפינג כפול ומזה נוצרות בעיות.
הוא לא מראה את כל הקוד זה ברור, לא נראה לי שהבנת למה בדיוק התכוונתי..


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

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