Get_current_user()

Hallo!
Ich habe eine Website bei euch erstellt, die zwar zurzeit, weil noch in Entwicklung, noch nicht für jeden zugänglich ist, aber für ein paar ausgewählte Personen.
Sie ist unter: habrin92.bplaced.net (Falls ihr Username und Passwort braucht, um meine Frage zu beantworten, sagt mir einfach eine E-Mail und ich schick euch die Daten)
Das Problem ist, dass ein Part meiner Website, um jemanden zu identifizieren ist, ihn an seinem Benutzernamen zu erkennen. Die IP alleine reicht mir nicht, weil z.B. in einer Firma haben ja alle die selbe.
Na jedenfalls hab ich´s zurzeit natürlich deaktiviert, is ja klar, aber ich würde trotzdem bevor das endgültig wird gerne verstehen (!), warum ihr diesen Befehl genau deaktiviert habt.
Gibt´s da wirklich Leute, die damit Missbrauch betreiben können? Was kann man schon mit einem Benutzernamen anfangen?

Drück dich mal klarer aus :stuck_out_tongue:
Wenn du einen Benutzernamen meinst wo ist das Problem :stuck_out_tongue: Man kann doch Name 1 mit Name 2 Vergleichen :stuck_out_tongue:
Speichern kanns du die Liste in einer Datenbank sowie in Dateien^^

Wenn du den Hostnamen meinst und nicht den Benutzernamen, tja das liegt daran das alle Zugriffe auf das www. gesperrt sind. Daher kann man nicht den Hostnamen einer IP auflösen.

Nachtrag:
Oops… ah der Titel^^
Ähm… die Funktion ist Deaktiviert da diese Information ein Hacker gebrauchen könnte und ein User sowas eh nie Braucht.
get_current_user() gibt nur den Benutzer des Scripts wieder. z.B. bplaced wurde so Konfiguriert den User Apache zu verwenden würde dort Apache kommen. Das hilft dir aber nicht bei identifizieren des Besuchers da es damit nichts zu tun hat.

Mit dem Befehl kannst du ja nicht den Benutzernamen des Betriebssystems des Webseitenbesuchers auslesen, sondern lediglich den Besitzer des aktuell ausgeführten PHP-Skripts.
Also eigentlich vollkommen irrelevant, da es in den meisten Fällen wohl der FTP- od. WWW-Benutzer des Webservers sein wird.

Um einen Benutzer zu identifizieren müsste sich dieser schon über ein Login bei dir auf der Webseite anmelden und du verpasst ihm dann ein Cookie.
Damit könntest du zumindestens (wenn auch nicht besonders sicher und zuverlässig) den PC wiedererkennen.

Ich will ja nicht den PC wiedererkennen, sondern den Benutzer, das ist ein großer Unterschied!
Wenn z.b. jemand in der Arbeit (weiß ich, sollte man nicht tun, trotzdem) einen Beitrag schreibt und sich dann abmeldet und den gleichen PC an den Kollegen weitergibt, hat der die gleiche IP, aber get_current_user() würde einen anderen Namen liefern. Somit weiß mein Script, dass es jemand anderes ist.
So zumindest der Plan, und ich kann nicht glauben, dass man diese Daten irgendwie missbräuchlich betreiben könnte. Wie stellt ihr euch denn das vor?

hmm… jetzt hast du schon in 2 verschiedenen Ausführungen gehört was get_current_user() aber glaubst es immer noch nicht^^

get_current_user() hat nichts aber auch rein gar nichts mit dem Besucher zu tun.
Es wird egal wer die Webseite aufruft immer nur der Benutzer des Webserver erscheinen.
Welcher auch immer das auf bplaced ist, es ist jedoch irrelevant.

Dein Problem würde theoretisch eine “session” lösen. Da diese nach dem schließen des Browsers gelöscht wird.

Aber eins musst du dir noch im klaren werden :stuck_out_tongue: PHP ist eine Serverseitige Angelegenheit weshalb es nicht auf dem Benutzer PC Abfragen oder manipulieren kann. Dies wäre auch ein Sicherheits Problem :stuck_out_tongue:

Ach ja… Browser speichern meines Wissens Daten nach den Benutzerkonten auf dem PC.
Wenn sich also jemand anders unter einem anderen Benutzerkonto einloggt, hat er auch die Cookies nicht.

OK, danke!

hi,

ich würde dir ein php-login oder ein login via htaccess empfehlen. über php ist es etwas kompliziert, da du da die nutzer in der datenbank speichern müsstest, beim login die daten vergleichen müsstest und du am besten das passwort mit md5 verschlüsselst.

.htaccess ist die einfachere variante - den damit angemeldeten nutzer kannst du über die variable $_SERVER[‘PHP_AUTH_USER’] auslesen. htaccess-schutz kannst du so realisieren:

[quote]Beispiel: .htaccess-Datei
# .htaccess-Datei für Web-Verzeichnis /service
AuthType Basic
AuthName "Service-Bereich"
AuthUserFile /usr/verwaltung/web/.htusers
AuthGroupFile /usr/verwaltung/web/.htgroups
Require user Werner Dieter Heidi
Require group Servicetechniker

Erläuterung:
Die erste Zeile der Beispieldatei ist lediglich ein Kommentar. Solche Kommentarzeilen müssen mit dem Gatterzeichen # eingeleitet werden. Alle anderen Zeilen haben einen einheitlichen Aufbau: Sie beginnen mit Schlüsselwörtern (den eigentlichen Anweisungen), und dahinter folgen, durch ein oder mehrere Leerzeichen getrennt, Angaben dazu. Leerzeilen, die die Lesbarkeit verbessern, sind erlaubt, werden aber vom Webserver ignoriert. Zeilen mit Angaben, die der Webserver nicht interpretieren kann, führen jedoch grundsätzlich zu einem “Internal Server Error” (Seite HTTP-Status-Code 500).

Um einen Passwortschutz einzurichten, brauchen Sie die Anweisungen AuthType, AuthName, AuthUserFile, und wenn Sie mit Benutzergruppen arbeiten, auch AuthGroupFile. Ferner benötigen Sie eine oder mehrere Angaben der Anweisung Require.

Mit AuthType wird die Art der Authentifizierung bezeichnet. Die meist gebrauchte Angabe ist Basic für die sogenannte HTTP Basic Authentication (einfache Authentifizierung über HTTP). Dabei stehen die Benutzernamen und die zugehörigen Passwörter in einer noch anzugebenden Datei. Diese Methode verlangt aber, dass das Passwort unverschlüsselt vom Browser an den Webserver übermittelt wird. Sie ist daher nicht wirklich sicher. Die Alternative für den Authentifizierungstyp ist Digest. Dabei werden Passwörter bereits in verschlüsselter Form abgefordert, allerdings beherrschen das nicht alle Browser. Sie müssen daher entscheiden, was für Sie Vorrang hat: höhere Sicherheit oder die Berücksichtigung der Browser und Clients, die nur die einfache Authentifizierung unterstützen.

Mit AuthUserFile wird die Datei angegeben, in der die Namen der autorisierten Benutzer und ihre Passwörter stehen. Es sollte der vollständige absolute Pfadname angegeben werden. Das ist also nicht der Pfad ab dem Wurzelverzeichnis Ihres Web-Projekts. Fragen Sie dazu gegebenenfalls Ihren Webhosting-Provider oder Webmaster. Sie können zwar auch eine Angabe machen, die relativ zum Wurzelverzeichnis des Webservers (das oft /usr/lib/apache/ lautet) interpretiert wird. In der Regel ist das aber ein zentrales Installationsverzeichnis, auf das Sie keinen Zugriff haben.

Im Interesse der Sicherheit ist es günstiger, die Datei mit den Namen der Benutzer und ihren Passwörtern außerhalb des Web-Projekts auf dem Server abzulegen. Aber bei kaum einem Hosting-Angebot können Sie auf Systemverzeichnisse des Server-Rechners außerhalb des eigenen Web-Projekts zugreifen. Wenn nicht ausdrücklich vom Provider bzw. Webmaster anders bestimmt, sollten Sie außerdem für die Datei einen Namen wählen, der mit .ht beginnt, üblicherweise eben .htusers oder .htpasswd. In der Konfiguration des Apache-Servers sind solche Dateinamen als Grundeinstellung vorgegeben und werden, wie oben bereits erläutert, aufgrund des vorangestellten Punktes nicht zur Ansicht freigegeben, bleiben also vor Besuchern verborgen. Das Gleiche gilt für die Gruppendatei, falls Sie mit Benutzergruppen arbeiten. Diese wird mit AuthGroupFile angegeben. Alternativ können Sie aber mit Hilfe des Containers auch eigene Schutzregeln definieren und eigene Namen für diese Dateien vergeben.

Bei Require geben Sie als zweites Schlüsselwort entweder user oder group an, je nachdem, ob Sie Zugriffsbestimmungen für einzelne Benutzer oder Benutzergruppen festlegen möchten. Hinter diesem Schlüsselwort können ein oder mehrere Namen von Benutzern oder Benutzergruppen folgen. Alternativ können Sie auch das Schlüsselwort valid-user benutzen, um alle Benutzer zuzulassen, falls die Liste sonst zu lang werden würde.

Im obigen Beispiel werden die drei Benutzer Werner Dieter Heidi sowie alle Benutzer der Gruppe Servicetechniker angegeben. Damit der Passwortschutz funktioniert, müssen nun die angegebenen Dateien mit den Benutzernamen und (falls benötigt) den Gruppen angelegt werden.

(…)

Beispiel: .htusers-Datei unter Unix
# BenutzerDatei für Web-Projekt
Werner:INY8//m5KMwIc
Manfred:69gY8YPjQXeN6
Janine:INw2mPEH.owe2
Anke:INh6DHvyejvf2
Bernd:INboWuvjjwQ7E
Karin:INwOXOz96UQOU
Christina:INXo9kh0M.anc
Andreas:INeRD/cUQIFP6
Dieter:INUnlKdkNZ6RQ
Heidi:IN20ffIEEV1H6

Erläuterung:
(…) Der Apache-Webserver erlaubt entweder unverschlüsselte Passwörter (unter Windows), oder verschlüsselte nach den Methoden Crypt oder MD5 (alle Plattformen einschließlich Windows). [Da wir, bplaced, Linux verwenden, müssen hier verschlüsselte Passwörter eingetragen werden.]

Falls Sie damit nichts anfangen können, können Sie das folgende kleine Formular verwenden. Geben Sie darin das gewünschte Passwort ein. Das Formular ruft beim Absenden ein CGI-Script im Web auf. Als Ergebnis erhalten Sie das nach der Methode Crypt verschlüsselte Passwort. Dazu muss jedoch eine Verbindung ins Internet bestehen.

[Formular; zu verschlüsselndes Passwort hinter ?password= notieren: de.selfhtml.org/servercgi/server … hnisschutz

Danke, aber das mit der .htaccess kenn ich schon!
Ich hab´s mal in einem Forum gelesen.

wie, und dafür hab ich jetzt den ganzen text kopiert, formatiert und bearbeitet? :ps:

wer zuspät kommt( :whata: ), den bestraft das Leben :ps: