PHP8 jak zjistit jméno uživatele?

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod pb03 12. 4. 2023 14:24

Zdravím,
mám dotaz:
v PHP 5 jsem dokázal zjistit jméno vzdáleného uživatele pomocí funkce get_current_user();
vypsalo to název uživatele, který spouští php stránku.
v PHP 8 mi to už píše pouze IUSR...

prosím o radu jak vypsat skutečného uživatele v PHP 8?
Díky.
Petr
pb03
Junior

Odeslat příspěvekod Wikan 12. 4. 2023 14:33

Jméno vzdáleného uživatele ti to určitě nevypisovalo.
get_current_user — Gets the name of the owner of the current PHP script

https://www.php.net/manual/en/function. ... t-user.php
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod pb03 12. 4. 2023 14:54

možná mi nebudeš věřit, ale teď jsem to odzkoušel
a na PHP 5.4.33 mi příkaz get_cerrent_user();
vrátí jméno uživatele skriptu...

no ale já bych potřeboval něco, co funguje na PHP 8?

díky.
Petr
pb03
Junior

Odeslat příspěvekod Wikan 12. 4. 2023 15:34

Čemu říkáš "jméno uživatele skriptu"? A před tím jsi navíc psal o "jménu vzdáleného uživatele".
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod pb03 12. 4. 2023 15:41

omlouvám se, asi nevyjadřuju přesně.
Potřebuju zjistit např. windows login uživatele, který si prohlíží PHP stránku.
jedná se o PHP aplikaci provozovanou v rámci domény.

PB.
pb03
Junior

Odeslat příspěvekod JirkaVejrazka 12. 4. 2023 15:49

Tak to nemas sanci, pokud nepouzijes nejaky JavaScript.
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod Wikan 12. 4. 2023 15:50

Tohle jsi zkoušel?
Kód: Vybrat vše
$_SERVER['REMOTE_USER']
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod pb03 12. 4. 2023 15:58

taky zkoušel a nefunguje :-(
pb03
Junior

Odeslat příspěvekod JirkaVejrazka 12. 4. 2023 15:59

Jmeno uzivatele se standardne neprenasi ani v HTTP requestu ani nikde v hlavickach. Takze z PHP ho nezjistis.
Naposledy upravil JirkaVejrazka dne 12. 4. 2023 15:59, celkově upraveno 1
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod Wikan 12. 4. 2023 15:59

Případně:
Kód: Vybrat vše
$_SERVER['AUTH_USER']
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod JirkaVejrazka 12. 4. 2023 16:07

Abys mohl ziskat jmeno uzivatele, musel bys mit na serveru nejakou autentizaci zalozenou na domene, tj. nejaky plugin ktery transparentne overuje uzivatele. Obvykle se to nazyva SSO. Takze pokud je to pro tebe cesta, hledej neco jako "Windows AD PHP SSO"a pak zvaz, jestli ti to stoji za implementaci.
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod pb03 12. 4. 2023 16:13

Takže jediné co zjistím je asi
$_SERVER['REMOTE_HOST'] nebo
$_SERVER['REMOTE_ADR']
což obojí mi dává IP adresu připojeného počítače.
Kdyby aspoň šlo zjistit Jméno připojeného počítače?

Ale v PHP 5 ještě přenos jména uživatele fungoval - jak pomocí get_current_user() tak pomocí $_SERVER['REMOTE_USER']

P.
pb03
Junior

Odeslat příspěvekod JirkaVejrazka 12. 4. 2023 16:18

Pokud ti tohle fungovalo, tak jsi tam nejakou autentizaci mel. Bud na urovni aplikace nebo spis na urovni webserveru. Obecne to nefungovalo nikdy.

Bohuzel vic se poradit neda, konfiguraci tveho webserveru my nezname.
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod pb03 12. 4. 2023 16:34

heuréka :-D
naťukl jsi mně a už jsem si vzpomněl.
PHP aplikace provozuji na IIS serveru - bylo potřeba pro konkrétní web=php aplikaci na IIS serveru nastavit:
Anonymní přístup = zakázat
Ověřování systému Windows = povolit.

takže je to Vyřešeno!
moc díky.
Petr
pb03
Junior

Odeslat příspěvekod JirkaVejrazka 12. 4. 2023 16:36

Super :)
JirkaVejrazka
Mírně pokročilý

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků