1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Sicherheit - Loginname verbergen

Dieses Thema im Forum "Konfiguration" wurde erstellt von volumana, 14. Oktober 2008.

  1. volumana

    volumana Member

    Registriert seit:
    1. Oktober 2008
    Beiträge:
    7
    Zustimmungen:
    0
    Ich möchte bei mir den Template Tag "the_author_posts_link" nutzen, habe aber Sicherheitsbedenken.

    Aus Sicherheitsgründen habe ich für Wordpress einen Login, der nicht meinem Namen entspricht, nehmen wir mal an ich würde den Loginnamen "jafsd34sfd" nutzen.
    Als Spitzname und 'Name im Blog' habe ich unter Profil in Wordpress meinen echten Namen eingetragen.

    Wenn ich jetzt aber dem Link folge, der durch das Template Tag "the_author_posts_link" generiert wird, dann komme ich zu
    http://www.domainname.com/author/jafsd34sfd/

    Das heißt, jeder kann meinen Login sehen. Dann hätte ich doch auch gleich meinem Namen nehmen können und keinen sicheren Login.
    Wie kann ich meinen Loginnamen verbergen und meinen Namen in den Link schreiben?

    Um zu verhindern, dass ich missverstanden werde: Es geht mir hier nicht um den Linktext, der wird richtig angezeigt. Es geht um die URL, zu der der Link führt.

    Vielen Dank,

    Sandra

    Vielen Dank
    Sandra
     
  2. msi

    msi Well-Known Member

    Registriert seit:
    1. Februar 2007
    Beiträge:
    255
    Zustimmungen:
    0
    Stell in deinem Profil bitte wieder das ein, was die Leute sehen dürfen und sollen. Also bspw. deinen echten Namen, deinen Spitznamen, oder was auch immer. Dann nimm ein Tool wie phpMyAdmin, öffne die WP-Datenbank und gehe in die wp_users-Tabelle. Dort änderst du das Feld "user_login" auf den Anmeldenamen, der den Leuten eben nicht bekannt sein soll.

    So habe ich das gemacht, weil ich die gleiche Idee hatte. Die meisten potentiellen Angreifer versuchen ja den "admin" oder den Namen, den sie im Blog sehen, und genau deswegen habe ich das auch gemacht. Funktioniert exakt so, wie du es wünscht.
     
  3. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    msi: Und? Dann sieht man genau diesen Usernamen im Autorenarchiv. Was den "Schutz" ad absurdum führt. ;)

    volumana: Für ganz Paranoide: leg dir einen 2. Benutzer an, der nur Autorenrechte hat (evtl. mit Role-Manager, aber hier sollten die Standardrollen genügen). Unter diesem veröffentlichst du deine Artikel. Den wahren Admin sieht dnn niemand von außen.
     
  4. msi

    msi Well-Known Member

    Registriert seit:
    1. Februar 2007
    Beiträge:
    255
    Zustimmungen:
    0
    Gib mal ein Beispiel für die Behauptung.
     
  5. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Siehe Ausgangsposting. Es geht um die URL des Autorenarchivs. Oder reden wir aneinander vorbei? Achja, Non-Standard-Permalinks, sonst natürlich /?author=123
     
  6. msi

    msi Well-Known Member

    Registriert seit:
    1. Februar 2007
    Beiträge:
    255
    Zustimmungen:
    0
    Mit anderen Worten: ich habe Recht, oder wie? :mrgreen:
     
  7. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Mmh, ich glaube nicht. Also nochmal langsam, wenn ich irgendwo nen Denkfehler hab sag bescheid. ;)

    Die OP möchte ihren Loginnamen ändern ("admin" -> "youdontknowme"), um es potentiellen Angreifern schwerer zu machen. Soweit klar. Ein Angfreifer kennt den Loginnamen "youdontknowme" nicht, Angriff gescheitert.

    Problem hierbei: der Loginname ist in der URL zum Autorenarchiv sichtbar:
    http://example.org/author/youdontknowme
    Das ist unproblematisch, solange dieser Link nicht veröffentlicht wird. Genau das will die OP aber. Der "Schutz" durch die Namensänderung ist also dahin.
     
  8. volumana

    volumana Member

    Registriert seit:
    1. Oktober 2008
    Beiträge:
    7
    Zustimmungen:
    0
    Marx, ja genau.

    Ich möchte einen Link auf meine Autorenartikel setzen, ohne dass man dabei meinen Login sieht. Den sollte keiner wissen.
    Meine Spitznamen, Namen und was man sonst noch alles bei Wordpress einstellen kann, darf jeder wissen.

    Aber mein Login sollte geheim bleiben. Ist er in Moment aber nicht, denn die URL der Seite mit meinem Autorenarchiv enthält genau den geheimen Login-Namen in der URL.

    Mal ganz abgesehen von dem Sicherheitsproblem fände ich es auch schöner, wenn nicht der Login in der URL erscheint, sondern mein Name.

    So ist es in Moment:
    http://www.domainname.com/author/jafsd34sfd/
    So hätte ich es gerne:
    http://www.domainname.com/author/Vorname-Nachname/

    Viele Grüße,
    Sandra
     
  9. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Neben meiner 1. Idee (2. Benutzer mit eingeschränkten Rechten) oben:

    Über ein Plugin die URL ändern, die the_author_posts_link() ausgibt. Der passende Filter dazu wäre: author_link (evtl. noch author_feed_link)

    Quick'n'dirty würde ich dann noch ne Rewrite-Regel in der .htaccess anlegen, die die URL intern dann von
    http://example.org/author/vorname-nachname/
    auf
    http://example.org/author/youdontknowme/
    umbiegt. mit der Rewrite-Klasse kann man das sicher auch hübscher und sauberer direkt im Plugin verpacken.

    Achja, bedenke dabei, dass "vorname-nachname" nicht eineindeutig sein muss, d.h. mehrere Autoren können (theoretisch) den gleichen "vorname-nachname"-String haben. Im besten Fall ist dann einfach das Archiv eines Autors nicht mehr aufrufbar, im schlimmsten Fall fällt dir der Himmel auf den Kopf. ;) (ich denke aus diesem Grund wirst du auch kein fertiges Plugin dafür finden, aber suchen kannst du ja trotzdem mal).

    HTH
    marX
     
  10. msi

    msi Well-Known Member

    Registriert seit:
    1. Februar 2007
    Beiträge:
    255
    Zustimmungen:
    0
    Ich glaube, dass du einen Denkfehler hast.

    Mein Blog läuft nämlich nach der von mir beschriebenen Funktion. Die URL für das Autorenarchiv wird bei WP aus dem "user_nicename" gebildet. Ich sehe es in zwei Blogs, in denen ich aktiv bin. In einem steht mein Vorname als Link zum Autorenarchiv, im anderen meine Initialen. In beiden Blogs logge ich mich jedoch mit ganz anderen Benutzernamen ein.

    Die erscheinen dann zwar in der Liste der Benutzer (d.h. wenn ich den Blog nicht selbst betreue, kann der Admin den echten Benutzernamen sehen), aber diese "Lücke" ist idR zu vernachlässigen (PS: Weil der Admin ja sowieso kompletten Zugang zum Blog hat.)

    Du kannst mir schon vertrauen. In diesem speziellen Fall weiß ich, wovon ich rede.
    Du kannst mir auch vertrauen, Sandra.


    Edit: Ich reiche sogar noch den Nachweis nach (für die technisch Interessierten):
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    (wp-includes/author-template.php)
     
    #10 msi, 15. Oktober 2008
    Zuletzt bearbeitet: 15. Oktober 2008
  11. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Aha, gut. In dem Fall würde ich sagen du hast recht. ;)

    Dann kann ich dir auch sagen, wo mein Denkfehler lag - ich hab den "Spitznamen" fälschlicherweise für den Nicename gehalten... ;) Aber den Nicename kann man wohl auch nur direkt ind er DB ändern.

    Trotzdem hab ich mal noch ne Frage zur Theorie des ganzen "Schutzes": wo ist der Unterschied, ob der Key (meinetwegen für ne SQL-Injection o.ä.) jetzt der "user_login" oder der "user_nicename" ist, wenn beide eineindeutig sind? Und was passiert, wenn man versehentlich 2 Usern den gleichen Nicename gibt? Das Feld ist ja (wie der Login auch) nicht unique... (Ist jetzt hier OT, geb ich zu, aber ich persönlich würde Leuten, die keine Ahnung von der Materie dahinter haben nicht solche "Sicherheitsmaßnahmen" vorschlagen, womit sie im Endeffekt mehr Schaden anrichten können als das ganze nützt. Aber wie gesagt, persönliche Meinung. ;))
     
  12. msi

    msi Well-Known Member

    Registriert seit:
    1. Februar 2007
    Beiträge:
    255
    Zustimmungen:
    0
    Du kannst den "user_nicename" auch im Profil ändern (= Spitzname). In der Auswahlliste darunter (Im Blog anzeigen als) legst du nur fest, was der Leser lesen soll; oder in HTML-Code ausgedrückt:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ;)


    Zu deinem letzten Einwand: Ich bin mir mehr als sicher, dass WordPress meckern wird, wenn du versuchst, Namen einzustellen, die bereits in Benutzung sind. (Werde ich gleich mal testen!) Dieses Feature kann man nur aushebeln, wenn man die Datenbank direkt verändert. Und hier bitte ich noch einmal darum, meinen ersten Beitrag zu beachten! Ich rede davon, dass Sandra in ihrem Profil alles einstellt, was die Leser ihres Blogs ohnehin erfahren dürfen. Und dort (im Profil!) ist das Feld "Benutzername" ausgegraut und nicht änderbar. Darum sollte sie dann ein Tool wie phpMyAdmin verwenden und dort in der genannten Tabelle ausschließlich das erwähnte Feld ändern. Nichts anderes!
     
  13. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Genau das eben nicht! Der Spitzname (Nickname) liegt in der Usermeta-Tabelle (meta_key: nickname), und ist eben nicht der user_nicename (gerade getestet, WP 2.6.2 ;)) In dem Fall ist dein 1. Beitrag nicht ganz korrekt. (Oder ich hab den nächsten Knoten im Hirn... :?)

    In dem Fall hinfällig, weil du den Nicename eh nur in der DB ändern kannst. Und die wird nicht mekcern, da wie erwähnt das Feld nicht unique ist. Das Loginfeld ja ebenfalls nciht, also könnte man theoretisch auch da Dubletten haben.

    Nachtrag: Macht WP nicht, ich kann dem Admin denselben Spitznamen (Nickname) geben wie einem anderen User. Was auch keinen Einfluss auf die Autorenarchive hat.
     
    #13 marX, 15. Oktober 2008
    Zuletzt bearbeitet: 15. Oktober 2008
  14. msi

    msi Well-Known Member

    Registriert seit:
    1. Februar 2007
    Beiträge:
    255
    Zustimmungen:
    0
    Du hast Recht. Sorry, mein Fehler.

    Ich ging von mir aus. Ich hatte ursprünglich in meinem Blog einen Benutzer angelegt, dessen Login- und Anzeigename mein echter Name war. Der Spitzname ist auch weiterhin mein Vorname, und in meinem privaten Blog steht der auch als Linktext auf der Seite.
    Ich habe dann später via Datenbank (phpMyAdmin) das Feld "user_login" verändert. Ausschließlich dieses Feld, sonst nichts! Und seitdem zeigt mir der Blog zwar weiterhin meinen Namen an, aber anmelden muss ich mich ganz anders.

    Bei Sandra ist das Problem ähnlich. Sie muss in der Datenbank das Feld "user_nicename" ändern (und nur das!), damit ihre URL für das Autorenarchiv den erlaubten Namen anzeigt.


    Dass du auf die mögliche Gefahr hinweist, finde ich gut und richtig, aber ich möchte anmerken, dass ich beschrieben habe, worauf ich hinauswill, und wie es funktioniert. Mit den normalen Mitteln von WP kannst du den Schutz vor Doubletten nicht aushebeln. Das hast du selbst gemerkt! Und das direkte Ändern in der Datenbank unterscheidet sich nicht vom direkten Ändern von Konfig- o.ä. Dateien anderer Software. Auch hier muss man wissen, was man tut. Und wer wider besseren Wissens irgendwelche Angaben ändert, obwohl er genau weiß, dass sich das mit bereits vorhandenen Daten überschneidet, der handelt grob fahrlässig.

    Noch einmal: auf irgendeine Kleinigkeit zu verzichten, nur weil ein Risiko besteht, halte ich für falsch. Wenn es sich umsetzen lässt, und wenn man jeden auf mögliche Gefahren hinweist, dann reicht das meiner Ansicht nach aus. Und wenn sich Sandra strikt an unsere beiden Vorgaben hält, passiert überhaupt nichts.

    Das Anliegen von ihr verstehe ich sehr gut, denn ich hatte die gleiche Idee. Auch mir hat es nicht gefallen, dass jemand meinen Benutzernamen sieht und damit nur noch das Passwort erraten muss. Darum habe ich die von mir beschriebene Änderung vorgenommen. Und dank Frank (und einem Artikel in seinem Blog) habe ich auch noch die Anzeige der Fehlermeldung deaktiviert. Ein potentieller Angreifer sieht bei mir nicht, was er falsch gemacht hat. Bei einer Fehlanmeldung erscheint nur noch ein leerer roter Kasten. Die Meldung, ob Benutzername und/oder Kennwort falsch waren, fehlt völlig.
     
  15. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Na ich denke wir können das hier dann abschließen. Ausgangsfrage beantwortet, auf mögliche Stolpersteine und Risiken hingewiesen und auch alle Unklarheiten beseitigt. :)

    Im Prinzip sind wir uns denke ich auch einig, was die Sicherheitsfrage angeht. Das Login und Anzeigename aus Sicherheitsgründen nicht gleich sein sollten, da stimme ich dir natürlich auch zu. Ich finde hier sind aber die WP-Entwickler in der Pflicht, da die Nutzerverwaltung oder die Permalinks entsprechend anzupassen.

    Übrigens: ich hab grade mal im Tracker kurz danach gesucht ("user nicename"), und beim ganz groben Überfliegen der letzten Tickets das hier gefunden:
    #5864 (Custom Permalinks for Author Archives) - WordPress Trac - Trac

    Dürfte wohl in etwa in die Richtung gehen. Derzeitiger Status: "wont' fix".
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden