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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. הדרך הנכונה לכתוב לוגים בPHP

הדרך הנכונה לכתוב לוגים בPHP

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

    מה הדרך הנכונה לכתוב לוגים של כשל בsql או בכלל כשלים?
    כל הבינות מלאכותיות שיגעו אותי שזה לא בטוח וצריך להוריד פרטים, אבל אם לא אכתוב פרטים איך אדע מה הבעיה?
    כתבתי לוג לתיקיית tmp, זה לא אמור לזלוג החוצה, לא?

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

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

      יש שתי דברים שאולי השתרבבו לפה:

      1. חשיפת שגיאות מפורטות למשתמשי קצה: אולי הבינה מלאכותית הבינה ממך שאתה תחשוף את השגיאה או את הטבלה למשתמשים בדרך כל שהיא, וזה הרבה פעמים מאפשר למשתמשים "רעים" מחוכמים לדעת הרבה על המערכת ועל חולשותיה.
      2. עוד תירוץ דחוק זה מקרה קצה של תיעוד body של בקשת אינטרנט שנכשלה כמדובר בlogin או בבחירת סיסמה. מצד פרטיות המשתמשים יש לצנזר את המידע הזה שלא יהיה לך במערכת סיסמה חשופה (בלתי מוצפנת) של משתמש. זה תירוץ דחוק מאוד, כמובן שאני לא חושב שזה שיקול וגם אפשר להחריג את המקרה החד פעמי הזה.
      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      תגובה 1 תגובה אחרונה
      0
      • E מנותק
        E מנותק
        eido
        כתב נערך לאחרונה על ידי dovid
        #3

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

        function logRequest($logFile = '/tmp/request_log.txt', $extraInfo = null) {
            $timestamp = date('Y-m-d H:i:s');
            $method = $_SERVER['REQUEST_METHOD'] ?? 'CLI';
            $uri = $_SERVER['REQUEST_URI'] ?? 'N/A';
            $ip = $_SERVER['REMOTE_ADDR'] ?? 'localhost';
        
            // איסוף פרמטרים
            $params = ($method === 'POST') ? $_POST : $_GET;
            $paramsString = json_encode($params, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
        
            // הכנת טקסט של פרמטר נוסף אם יש
            $extraInfoText = $extraInfo !== null ? "Extra: " . print_r($extraInfo, true) . "\n" : '';
        
            // בניית תוכן הלוג
            $logEntry = "[$timestamp] IP: $ip\nMethod: $method\nURI: $uri\nParams: $paramsString\n$extraInfoText--------------------------\n";
        
            // כתיבה לקובץ (append)
            file_put_contents($logFile, $logEntry, FILE_APPEND);
        }
        

        זה הקוד, נראה לי תקין לחלוטין... לא יודע מה רצו ממני

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

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

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


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

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

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