Запись логов в файл, который лежит в корне сайта. Need help...

ИА
На сайте с 12.02.2014
Offline
63
342

Доброго времени суток. Подскажите как сделать запись логов в файл, который лежит в корне сайта?

Написал такой код и подключил его ко всем страницам сайта:

<?php

$fh = fopen('log-'. date('Y-m-d') .'.txt', 'a');
fwrite($fh, '---> ' . date('H:i:s d.m.Y') . ' - ' . $_SERVER['REMOTE_ADDR'] . "\n" . ' ' . $_SERVER['REQUEST_URI'] . "\n" . ' ' . $_SERVER['HTTP_REFERER'] . "\n" . ' ' . $_SERVER['HTTP_USER_AGENT'] . "\n" . "\n" . ' ');
fclose($fh);
?>

На выходе получаю файл вида log-2019-08-20.txt, но... Он создается в каждой директории нового уровня. Т.е., те посещения, которые идут по страницам в корне сайта пишутся в лог-файл, который в корне. Для страниц второго уровня создается отдельный(-ные) лог-файлы в каждой папке второго уровня. Как сделать, чтобы все записывалось только в один файл который лежит в корне?

Пытался несколькими способами:

$fh = fopen('/log-'. date('Y-m-d') .'.txt', 'a');

$fh = fopen('сайт.ру/log-'. date('Y-m-d') .'.txt', 'a');

$fh = fopen('http://сайт.ру/log-'. date('Y-m-d') .'.txt', 'a');

При таких вариантах лог вообще не пишется...

Есть ли еще вариант как можно это исправить?

IL
На сайте с 20.04.2007
Offline
418
#1

$log_filename = $_SERVER['DOCUMENT_ROOT'].'/'.'log-'. date('Y-m-d') .'.txt';
$fh = fopen($log_filename, 'a');

p.s. Подскажите адрес сайта, логи посмотрю.. ))

p.p.s безопаснее как минимум выше корневого каталога писать.. что-то вроде

 dirname($_SERVER['DOCUMENT_ROOT']) .'/logs/'. 'log-... .txt'
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
GoRSS
На сайте с 29.07.2013
Offline
120
#2

Попробуй путь к группе от начала (/var/www/...)

ИА
На сайте с 12.02.2014
Offline
63
#3
ivan-lev:
$log_filename = $_SERVER['DOCUMENT_ROOT'].'/'.'log-'. date('Y-m-d') .'.txt';

$fh = fopen($log_filename, 'a');

Огромное спасибо! Похоже, все работает, понаблюдаю сегодня еще.

ivan-lev:

p.s. Подскажите адрес сайта, логи посмотрю.. ))

Был бы клиентский... а так свой))

ivan-lev:

p.p.s безопаснее как минимум выше корневого каталога писать.. что-то вроде

Если ломанут, то, думаю, не спасет. Сейчас закрыто индексирование в robots.txt, хочу еще ограничить доступ к файлу по IP в .htaccess, разрешив заходить только со своего рабочего и домашнего. Такой вариант понадежней будет.

IL
На сайте с 20.04.2007
Offline
418
#4
Илья Артурович:
Сейчас закрыто индексирование в robots.txt

Человек, зайдя в robots.txt, узнает, что у вас там логи лежат )))

Илья Артурович:
разрешив заходить только со своего рабочего и домашнего. Такой вариант понадежней будет.

Лучше уж через .htaccess.. сделать deny..

Или, как вариант - в каталог складывать и Basic http auth прикрутить..

ИА
На сайте с 12.02.2014
Offline
63
#5
ivan-lev:
Человек, зайдя в robots.txt, узнает, что у вас там логи лежат )))

Тут тоже не все так однозначно. Если, допустим, файл с логами называется файллогипосещения-yyyy-mm-dd.тхт, то в роботсе указано Disallow: /файллог. Соответственно, все, что содержит "файллог" закрыто от индексации, и явно не выдает имя файла.

ivan-lev:
Лучше уж через .htaccess.. сделать deny..

Да, так тоже хочу сделать, разрешив только 2 ip адреса.

Ну и бонусом, логи буду сливать на флешку или облако раз в 2-3 дня, зачем они мне на сервере?)

Они мне больше нужны изредка, для поиска подозрительной активности на сайте.

SeVlad
На сайте с 03.11.2008
Offline
1489
#6
Илья Артурович:
Если, допустим, файл с логами называется файллогипосещения-yyyy-mm-dd.тхт, то в роботсе указано Disallow: /файллог. Соответственно, все, что содержит "файллог" закрыто от индексации, и явно не выдает имя файла.

Надежда на эффект неуловимого Джо - одна из самых больших ошибок, за которую приходиться дорого платить.

Послушай что тебе люди говорят - вынеси за пределы документрут и убери упоминания о нём в роботсе (это вообще... надо было додуматься ж до такого).

В крайнем случае - в отдельный каталог с рандомным названием, защищённый не только по IP, но и хотя бы баз. авторизацией. И никаких упоминаний в роботсе!

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Топики помощи с ⓌordPress (https://searchengines.guru/ru/forum/1032910 ) и основы безопасности сайтов ( https://searchengines.guru/ru/forum/774117 ). *** Помощь\консультации в топиках форума - БЕСПЛАТНО. Платные услуги ( https://wp.me/P3YHjQ-3 ) - с бюджетом от 150$ ***

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий