Я планирую регистрировать все PHP $_SERVER variables, которые не являются статическими по всем запросам (например, SERVER_SIGNATURE), в таблицу базы данных. У меня есть два вопроса:Запись переменных PHP SERVER в базу данных
1) Существует ли максимальная длина полей, таких как HTTP_ACCEPT и т. Д.? Я использую следующую структуру. Это не оптимизировано и не самое лучшее, но только начальное указание. Любые ссылки на то, где я могу найти максимальные длины для некоторых/всех переменных, будут полезны.
2) Разве целесообразно хранить PHP_AUTH_USER и PHP_AUTH_PW? Может ли это привести к проблемам безопасности? С другой стороны, могут ли эти поля когда-либо быть отдаленно полезными при анализе трафика?
Примечание:
1) Прямо сейчас, я просто хочу, чтобы войти все, что я могу, что может даже отдаленно помочь мне в анализе трафика на свои сайты в будущем.
2) Для некоторых вещей я принял практические ограничения (например, я знаю, что не буду создавать имена путей на сервере длиной более ста символов и т. Д.). Тем не менее, я хочу играть безопасно и особенно на полях, зависящих от клиентских запросов.
Соответствующая часть таблицы выглядит следующим образом:
`PHP_SELF` varchar(1024) NOT NULL,
`SERVER_PROTOCOL` varchar(128) NOT NULL,
`REQUEST_METHOD` varchar(128) NOT NULL,
`REQUEST_TIME` timestamp NOT NULL,
`QUERY_STRING` varchar(4096) NOT NULL,
`DOCUMENT_ROOT` varchar(512) NOT NULL,
`HTTP_ACCEPT` varchar(2048) NOT NULL,
`HTTP_ACCEPT_CHARSET` varchar(2048) NOT NULL,
`HTTP_ACCEPT_ENCODING` varchar(2048) NOT NULL,
`HTTP_ACCEPT_LANGUAGE` varchar(2048) NOT NULL,
`HTTP_CONNECTION` varchar(1024) NOT NULL,
`HTTP_HOST` varchar(1024) NOT NULL,
`HTTP_REFERER` varchar(4096) NOT NULL,
`HTTP_USER_AGENT` varchar(4096) NOT NULL,
`HTTPS` varchar(128) NOT NULL,
`REMOTE_ADDR` varchar(64) NOT NULL,
`REMOTE_PORT` varchar(128) NOT NULL,
`SCRIPT_FILENAME` varchar(512) NOT NULL,
`SERVER_PORT` varchar(128) NOT NULL,
`SCRIPT_NAME` varchar(512) NOT NULL,
`REQUEST_URI` varchar(4096) NOT NULL,
`PHP_AUTH_DIGEST` varchar(512) NOT NULL,
`PHP_AUTH_USER` varchar(512) NOT NULL,
`PHP_AUTH_PW` varchar(512) NOT NULL,
`AUTH_TYPE` varchar(512) NOT NULL,
`PATH_INFO` varchar(4096) NOT NULL,
`ORIG_PATH_INFO` varchar(4096) NOT NULL,
Какова цель всего этого ведения журнала? –
@Col. Шрапнель: Несмотря на ваши предыдущие советы, я все время трачу время на все это :).Честно говоря, я еще не разработал комплексное решение для ведения журнала, которое будет моим (не аналитиком google и т. Д.), Не будет использовать Disk I/O вообще (по крайней мере, не во время обслуживания запроса - я хочу, чтобы регистрация выполняется как низкоприоритетный процесс после подачи запроса) и что-то, что я могу проанализировать, используя свои собственные алгоритмы, когда придет время. –
Итак, вы еще не знаете. Я боюсь, что ответить на ваш вопрос невозможно тогда. –