Я планирую записать все переменные PHP $ _SERVER , которые не являются статичными для всех запросов (например, SERVER_SIGNATURE), в таблицу базы данных.У меня два вопроса:
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,