![]() |
magic quate בורח.
אני משתמש בעורך טקסט,
ckeditor.. ברגע שאני רושם גרש אחד, כל התוכן שבא אחריו כולל אותו נעלם, עטפתי בmysql_real_escape_string.. והתצוגה באמצעות stripslash עדיין יש פה קאצ' אני לא מצליח להבין מה הבעיה. |
htmlspecialchars() ?
|
ניסיתי את זה..
|
קצת קשה לעזור לך כשאין פה יותר פרטים על הבעיה, תוכל לצרף קודים שלך \ דמו.. משהו..
|
תבדוק איפה בדיוק הבעיה קודם כל (באיזה שלב הטקסט נחתך) - במשיכת המידע מהקלט, בהכנסת המידע למסד הנתונים, בשליפת המידע ממסד הנתונים או בתצוגת המידע.
אחרי שתמצא איפה בדיוק הבעיה אני מאמין שנוכל להיות חכמים יותר, זה יכול לקרות מכמה סיבות ובכמה תהליכים שונים. |
צור קשר עם מנהל השרת שלך ותסביר לו שזו פוטנקצייה שיצאה מהחוק(=כבר לא מקובל להשתמש בה).
ושיסיר אותה. |
ציטוט:
ואני רוצה להסביר, htmlspecialchars ו mysql_real_escape_string לא כאלה רלוונטים עבורי, מכוון וזה עורך טקסט, והוא שומר בפנים טקסט בHTML אז מין הסתם שיהיו תווים לא חוקיים. אין פתרון אחר? חשבתי על להכניס למסד בצורה כזו: htmlspecialchars ולהדפיס עם htmlspecialchars_decode.. |
ציטוט:
האמת שכבר במשך תקופה ארוכה אני לא כותב php native... אבל לא הבנתי למה לא להכניס את הHTML למסד כHTML? איזה הגיון יש מאחורי זה? בעיה פותרים מהשורש, ולא מהמסביב. *אגב הפתרון המקובל במערכות שונות(symfony, wordpress, drupal) למאג'יק הוא בד"כ לסנטז מחדש כל פלט שנכנס ב-REQUEST.. ובמידה והמאג'יק מופעל לנטרל אותו.. פשוט תעשה חיפוש בקוד של וורדפרס למשל איך הם עושים את זה.. זה דיי פשוט |
אתם סתם זורקים כאן פתרונות בלי להבין בכלל איפה באמת הבעיה.
ציטוט:
|
ציטוט:
|
ציטוט:
|
תתקדמו בבקשה..
http://php.net/manual/en/pdostatement.bindparam.php |
ציטוט:
וכמו שxPerfection אמר, אם אתה רוצה באמת לעבוד בטוח אז תעבוד עם מחלקה שעובדת בצורה בטוחה עם בסיסי נתונים, כמו PDO שעושה עבודה מצויינת. |
אני שמח שזה הפך לדיון נחמד כאן בפורום אבל מצאתי פתרון בצד לקוח, שיזהה אם קיים \ וימחק אותו.
אבל מעולם לא שמעתי על המחלקה PDO ואשמח לבדוק אותה מקרוב תודה ! וראיתי שמשהו אמר שמערכות ניהול תוכן כמו JOOMLA ו WP ו DRUPAL מבטלות את ה MQ דרך PHP, למישהו יש מושג איך הם עשו את זה? כי לפי תוצאות החיפוש שלי שום דבר לא עבד כמו שצריך. |
get_magic_quotes_gpc, אם הוא מחזיר 1 אז עושים stripslashes.
אתה בטוח אבל שזאת באמת הבעיה? לאו דווקא שזה לא נכון, אבל זאת לא חייבת להיות בהכרח הבעיה - מה שאתה מתאר יכול לקרות מהמון סיבות אחרות. |
ברוב השרתים השיתופיים אפשר לבטל אותו עם php_flag ב htaccess
לאחר מכן בקוד כמו שxPerfection כתב אפשר לבצע בדיקה ואם הוא עדיין מופעל(כי בשרת הספציפי הזה הHTACCESS לא עבד) אפשר להשתמש בstripslashes כתבתי פעם הסבר קצר על HTACCESS http://www.hosts.co.il/forums/showthread.php?t=86350 |
כל הזמנים הם GMT +2. הזמן כעת הוא 05:50. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ