דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. המרת נתונים (php) כדי להכניס לpostgreSql

המרת נתונים (php) כדי להכניס לpostgreSql

מתוזמן נעוץ נעול הועבר תכנות
11 פוסטים 4 כותבים 565 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC
    chagoldC
    chagold
    כתב ב נערך לאחרונה על ידי chagold
    #1

    אני צריך להכניס נתונים שכוללים כל מיני תוים, ל-postgreSql, והנתונים כוללים תוים כגון גרש ('), וא"א להכניס את הנתונים (כיון שהPHP דורש שלמניעת הזרקה מוכרח שהנתונים יהיו מסומנים בגרשיים (הפתרון של JSON לא מועיל לזה).

    איזה פתרון המרה בphp מומלץ?

    תודה

    dovidD תגובה 1 תגובה אחרונה
    0
    • חגיח
      חגיח
      חגי
      כתב ב נערך לאחרונה על ידי
      #2

      הרשיתי לעצמי לחפש בגוגל, בגלל שידעתי שיש לזה פונקציה מוכנה עבור mysql, הנחתי שיש גם משהו לpostgres
      הרי לך:
      https://www.php.net/manual/en/function.pg-escape-literal.php

      תגובה 1 תגובה אחרונה
      2
      • chagoldC chagold

        אני צריך להכניס נתונים שכוללים כל מיני תוים, ל-postgreSql, והנתונים כוללים תוים כגון גרש ('), וא"א להכניס את הנתונים (כיון שהPHP דורש שלמניעת הזרקה מוכרח שהנתונים יהיו מסומנים בגרשיים (הפתרון של JSON לא מועיל לזה).

        איזה פתרון המרה בphp מומלץ?

        תודה

        dovidD
        dovidD
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי
        #3

        @chagold כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

        אני צריך להכניס נתונים שכוללים כל מיני תוים, ל-postgreSql, והנתונים כוללים תוים כגון גרש ('), וא"א להכניס את הנתונים (כיון שהPHP דורש - למניעת הזרקה - שהנתונים יהיו מסומנים בגרשיים (הפתרון של JSON לא מועיל לזה).

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

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        chagoldC תגובה 1 תגובה אחרונה
        0
        • dovidD dovid

          @chagold כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

          אני צריך להכניס נתונים שכוללים כל מיני תוים, ל-postgreSql, והנתונים כוללים תוים כגון גרש ('), וא"א להכניס את הנתונים (כיון שהPHP דורש - למניעת הזרקה - שהנתונים יהיו מסומנים בגרשיים (הפתרון של JSON לא מועיל לזה).

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

          chagoldC
          chagoldC
          chagold
          כתב ב נערך לאחרונה על ידי chagold
          #4

          @dovid כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

          @chagold כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

          אני צריך להכניס נתונים שכוללים כל מיני תוים, ל-postgreSql, והנתונים כוללים תוים כגון גרש ('), וא"א להכניס את הנתונים (כיון שהPHP דורש - למניעת הזרקה - שהנתונים יהיו מסומנים בגרשיים (הפתרון של JSON לא מועיל לזה).

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

          לקליינט יש דף להזנת נתונים: שם, כתובת וכיו"ב
          והוא כותב בשם ר' משה
          והוא גר ברמה ג'
          וכשאני מכניס את זה למסד נתונים אני מקבל שגיאה בסגנון הזה

          Warning: pg_query(): Query failed: ERROR: syntax error at or near "משה" LINE 5: content = '<p>ר' משה</p>' ^ in C:\xampp\texts.php on line 99
          

          הפונקציה ש@חגי הביא הועילה.

          dovidD תגובה 1 תגובה אחרונה
          0
          • chagoldC chagold

            @dovid כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

            @chagold כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

            אני צריך להכניס נתונים שכוללים כל מיני תוים, ל-postgreSql, והנתונים כוללים תוים כגון גרש ('), וא"א להכניס את הנתונים (כיון שהPHP דורש - למניעת הזרקה - שהנתונים יהיו מסומנים בגרשיים (הפתרון של JSON לא מועיל לזה).

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

            לקליינט יש דף להזנת נתונים: שם, כתובת וכיו"ב
            והוא כותב בשם ר' משה
            והוא גר ברמה ג'
            וכשאני מכניס את זה למסד נתונים אני מקבל שגיאה בסגנון הזה

            Warning: pg_query(): Query failed: ERROR: syntax error at or near "משה" LINE 5: content = '<p>ר' משה</p>' ^ in C:\xampp\texts.php on line 99
            

            הפונקציה ש@חגי הביא הועילה.

            dovidD
            dovidD
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי
            #5

            @chagold הבאת שגיאה, לא הבאת קוד.
            והשגיאה שהבאת איננה הגנה של PHP למניעת הזרקה, אלא אדרבא אתה כבר בסיטאציה חמורה של פוטנציאל ההזרקה אלא שההזרקה איננה מכוונת מתוקף אלא מנתונים תמימים אז זה גרר שגיאה.

            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
            chagoldC תגובה 1 תגובה אחרונה
            1
            • dovidD dovid

              @chagold הבאת שגיאה, לא הבאת קוד.
              והשגיאה שהבאת איננה הגנה של PHP למניעת הזרקה, אלא אדרבא אתה כבר בסיטאציה חמורה של פוטנציאל ההזרקה אלא שההזרקה איננה מכוונת מתוקף אלא מנתונים תמימים אז זה גרר שגיאה.

              chagoldC
              chagoldC
              chagold
              כתב ב נערך לאחרונה על ידי
              #6

              @dovid תודה. תיקנתי בפוסט הפותח.

              י תגובה 1 תגובה אחרונה
              0
              • chagoldC chagold

                @dovid תודה. תיקנתי בפוסט הפותח.

                י
                י
                יוסף בן שמעון
                כתב ב נערך לאחרונה על ידי
                #7

                @chagold מה יקרה אם הקליינט יכתוב בשדה כך:

                משה'; DROP TABLE users //
                

                ?

                chagoldC תגובה 1 תגובה אחרונה
                1
                • י יוסף בן שמעון

                  @chagold מה יקרה אם הקליינט יכתוב בשדה כך:

                  משה'; DROP TABLE users //
                  

                  ?

                  chagoldC
                  chagoldC
                  chagold
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @יוסף-בן-שמעון כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

                  @chagold מה יקרה אם הקליינט יכתוב בשדה כך:

                  משה'; DROP TABLE users //
                  

                  ?

                  בדקתי. הוא לא מחק.
                  אבל האמת, אני צריך לעבור קורס בנושא הזרקות.

                  י תגובה 1 תגובה אחרונה
                  0
                  • chagoldC chagold

                    @יוסף-בן-שמעון כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

                    @chagold מה יקרה אם הקליינט יכתוב בשדה כך:

                    משה'; DROP TABLE users //
                    

                    ?

                    בדקתי. הוא לא מחק.
                    אבל האמת, אני צריך לעבור קורס בנושא הזרקות.

                    י
                    י
                    יוסף בן שמעון
                    כתב ב נערך לאחרונה על ידי
                    #9

                    @chagold כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

                    אבל האמת, אני צריך לעבור קורס בנושא הזרקות.

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

                    chagoldC תגובה 1 תגובה אחרונה
                    4
                    • י יוסף בן שמעון

                      @chagold כתב בהמרת נתונים (php) כדי להכניס לpostgreSql:

                      אבל האמת, אני צריך לעבור קורס בנושא הזרקות.

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

                      chagoldC
                      chagoldC
                      chagold
                      כתב ב נערך לאחרונה על ידי dovid
                      #10

                      @יוסף-בן-שמעון טוב להשתמש בפונקציה הנ"ל לכל קלט?

                      dovidD תגובה 1 תגובה אחרונה
                      0
                      • chagoldC chagold

                        @יוסף-בן-שמעון טוב להשתמש בפונקציה הנ"ל לכל קלט?

                        dovidD
                        dovidD
                        dovid
                        ניהול
                        כתב ב נערך לאחרונה על ידי dovid
                        #11

                        @chagold כל טקסט דינמי שהופך/שיכול להפוך לפקודה, חובה שיעבור טיהור.
                        לכן בפקודת SQL כל החלקים המשתנים, יש להעביר אותם בפונקציה או להשתמש בפרמטריזציה:

                        $result = pg_query_params($dbconn, 'SELECT * FROM shops WHERE name = $1', array("ר' משה"));
                        

                        דוגמה נוספת לטקסט שהופך לפקודה הוא כל מה שמגיע לHTML, למשל אם יש לך אפשרות למשתמש להוסיף תוכן טקסטואלי שלאחמ"כ יוצג בדף (זה יכול להיות שם קובץ/תגובה/הערה/מספר!) זה בעצם טקסט שיכול להפוך לפקודה (כי בHTML ניתן לכתוב SCRIPT שבעצם יכול בעקיפין לקבל שליטה על שרת שלם ויותר).

                        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                        תגובה 1 תגובה אחרונה
                        4

                        שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

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

                        בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                        הרשמה התחברות
                        תגובה
                        • תגובה כנושא
                        התחברו כדי לפרסם תגובה
                        • מהישן לחדש
                        • מהחדש לישן
                        • הכי הרבה הצבעות


                        בא תתחבר לדף היומי!
                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

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