הדרך הנכונה לכתוב לוגים בPHP
תכנות
4
פוסטים
2
כותבים
51
צפיות
3
עוקבים
-
אני לא מבין מה השאלה, ומה הבינות מלאכותיות דיברו איתך על "לא בטוח",
אין אפילו חשש רחוק של בטיחות בתיעוד מוחלט של כל הפרטים בעת שגיאה למסד הנתונים.יש שתי דברים שאולי השתרבבו לפה:
- חשיפת שגיאות מפורטות למשתמשי קצה: אולי הבינה מלאכותית הבינה ממך שאתה תחשוף את השגיאה או את הטבלה למשתמשים בדרך כל שהיא, וזה הרבה פעמים מאפשר למשתמשים "רעים" מחוכמים לדעת הרבה על המערכת ועל חולשותיה.
- עוד תירוץ דחוק זה מקרה קצה של תיעוד body של בקשת אינטרנט שנכשלה כמדובר בlogin או בבחירת סיסמה. מצד פרטיות המשתמשים יש לצנזר את המידע הזה שלא יהיה לך במערכת סיסמה חשופה (בלתי מוצפנת) של משתמש. זה תירוץ דחוק מאוד, כמובן שאני לא חושב שזה שיקול וגם אפשר להחריג את המקרה החד פעמי הזה.
-
תודה
גם אני לא מבין... קפצו עלי עם בעיות אבטחה קריטיות...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); }
זה הקוד, נראה לי תקין לחלוטין... לא יודע מה רצו ממני