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