Skip to content

Інформація про користувача засобами PHP

Бувають моменти коли необхідно дізнатись якусь інфу про юзера який переглядає твою сторінку.
Сьогодні я розкажу як це робиться на ПХП.


Розпочну з суперглобального масиву $_SERVER.
Розписувати кожну змінну цього масиву я не буду (щодо цього є море інфи в інеті), а лише скажу, що в ньому найцікавіше це хіба що браузер користувача і IP-адреси. Та і то коли я вперше глянув на значення змінної $_SERVER[‘HTTP_USER_AGENT’] то не зразу зрозумів, який саме браузер має юзер…

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.48 Safari/525.19

Чи це Mozilla, чи Chrome, чи Safari…
Тому глянемо ще на таку функцію, як get_browser(), результатом якого є ОБЄКТ з усіма даними про браузер.
ось:

[browser_name_regex] => ^mozilla/5.0 (windows; u; windows nt 5.1; .*) applewebkit/.* (khtml, like gecko) chrome/1.0..* safari/.*$
[browser_name_pattern] => Mozilla/5.0 (Windows; U; Windows NT 5.1; *) AppleWebKit/* (KHTML, like Gecko) Chrome/1.0.* Safari/*
[parent] => Chrome 1.0
[platform] => WinXP
[browser] => Chrome
[version] => 1.0
[majorver] => 1
[frames] => 1
[iframes] => 1
[tables] => 1
[cookies] => 1
[javaapplets] => 1
[javascript] => 1
[cssversion] => 3
[supportscss] => 1
[minorver] => 0
[alpha] =>
[beta] =>
[win16] =>
[win32] =>
[win64] =>
[backgroundsounds] =>
[cdf] =>
[vbscript] =>
[activexcontrols] =>
[isbanned] =>
[ismobiledevice] =>
[issyndicationreader] =>
[crawler] =>
[aol] =>
[aolversion] => 0

Ось тут добре видно який у нас браузер, його версію і можливості 🙂
Навіть можна дуже просто перевірити чи включені javascript у користувача: if(get_browser()->javascript) echo ‘включені’;
Але майте на увазі, що його значення для кожного браузера різні (хоча це і так логічно). Навіть значення win32 на одній машині під різними браузерами відрізняються.
З браузерами розібрались, а якщо потрібно дізнатись ім’я користувача? Будь-ласка:)
можна навіть дізнатись кількість ядер в процесорі ))

Для цього дивимось в глобальний масив $_ENV.
Ось його результат:

[ALLUSERSPROFILE] => C:Documents and SettingsAll Users
[APPDATA] => C:Documents and SettingsAdministratorApplication Data
[CLIENTNAME] => Console
[CommonProgramFiles] => C:Program FilesCommon Files
[COMPUTERNAME] => SERGUNIK
[ComSpec] => C:WINDOWSsystem32cmd.exe
[EMAIL] => C:Documents and SettingsAdministratorApplication DataBat
[FP_NO_HOST_CHECK] => NO
[HOMEDRIVE] => C:
[HOMEPATH] => Documents and SettingsAdministrator
[LOGONSERVER] => SERGUNIK
[NUMBER_OF_PROCESSORS] => 2
[OS] => Windows_NT
[Path] => C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesMKVtoolnix
[PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
[PROCESSOR_ARCHITECTURE] => x86
[PROCESSOR_IDENTIFIER] => x86 Family 6 Model 14 Stepping 12, GenuineIntel
[PROCESSOR_LEVEL] => 6
[PROCESSOR_REVISION] => 0e0c
[ProgramFiles] => C:Program Files
[SESSIONNAME] => Console
[SystemDrive] => C:
[SystemRoot] => C:WINDOWS
[TEMP] => C:DOCUME~1ADMINI~1LOCALS~1Temp
[TMP] => C:DOCUME~1ADMINI~1LOCALS~1Temp
[USERDOMAIN] => SERGUNIK
[USERNAME] => Sergunik
[USERPROFILE] => C:Documents and SettingsAdministrator
[windir] => C:WINDOWS
[AP_PARENT_PID] => 2280

Ну ось і саме цікаве.

І так як нам всі ці дані не потрібні, можна легенько вибрати в масивчик самі необхідні дані і прописувати цей масив в лог кожного разу коли на сторінку хтось заходить.
Як бачимо, не вспиєш щось написати на сайті (форумі, блозі, дошці оголошень), а вже спалився.

One Comment

  1. orgi orgi

    да и вообще надо дома нет отрудить и никуда не выходить тк за нами следят!

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *