Melanie G.: Passwortkomplexität

Hi!

wie kann ich in PHP bestimmen, dass ein Passwort mindestens ein Kleinbuchstabe, ein Großbuchstaben, eine Zahl und ein Sonderzeichen enthalten muss?

Bei meiner Suche bin ich auf preg_match gestoßen, jedoch tue ich mir beim regulären Ausdruck schwer.
preg_match("/[0-9a-zA-Z]/", $passwort)
wenn ich das so überprüfe, sagt dies nur aus, dass ein Kleinbuchstabe, ein Großbuchstaben oder eine Zahl enthalten muss.

Das mit den Sonderzeichen sollte so [^0-9a-zA-Z] gehen, oder?

Wie bekomme ich meine Bedingung, das obige Bedingung zutrifft?

Melanie G.

  1. Hi,

    wie kann ich in PHP bestimmen, dass ein Passwort mindestens ein Kleinbuchstabe, ein Großbuchstaben, eine Zahl und ein Sonderzeichen enthalten muss?

    In dem du diese Bedingungen jeweils einzeln überprüfst?

    Bei meiner Suche bin ich auf preg_match gestoßen, jedoch tue ich mir beim regulären Ausdruck schwer.
    preg_match("/[0-9a-zA-Z]/", $passwort)
    wenn ich das so überprüfe, sagt dies nur aus, dass ein Kleinbuchstabe, ein Großbuchstaben oder eine Zahl enthalten muss.

    Das alles in einem Ausdruck zu prüfen, ist aufwendig - weil du ja die Reihenfolge, in der die einzelnen Zeichen vorkommen, nicht festlegen willst.

    Das mit den Sonderzeichen sollte so [^0-9a-zA-Z] gehen, oder?

    Das kommt darauf an, wie du „Sonderzeichen“ definierst.

    „Sonderzeichen“ in Passwörtern zu *verlangen*, ist übrigens nicht unbedingt eine gute Idee. Die können auf anderen Tastaturen ganz woanders liegen, als man das vom heimischen Rechner gewohnt ist, u.U. sind sie auch gar nicht direkt erreichbar. Das kann die Passworteingabe an einem Fremdrechner sehr mühsam machen, ggf. auch ganz verhindern.

    MfG ChrisB

    --
    The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
    1. Moin!

      „Sonderzeichen“ in Passwörtern zu *verlangen*, ist übrigens nicht unbedingt eine gute Idee. Die können auf anderen Tastaturen ganz woanders liegen, als man das vom heimischen Rechner gewohnt ist, u.U. sind sie auch gar nicht direkt erreichbar. Das kann die Passworteingabe an einem Fremdrechner sehr mühsam machen, ggf. auch ganz verhindern.

      Richtig. *mal eben die Tastatur auf DE umschalt* ein '°' gibt es z.B. auf dieser Tastatur nicht. Auch Ümläüte würden mir Probleme machen. *wieder zurückschalt*

      Ich habe schon Probleme, Passworte einzugeben, die zwar aus Zeichen bestehen, die diese Tastatur auch kennt, die aber an anderer Stelle liegen. Man praegt sich halt Muster ein.

      Da ich jeden Tag an zwei unterschiedlich konfigurierten Systemen bin, sind meine Passwoerter entsprechend "schwach".

      Ich ueberlege mir sogar ernsthaft eine US Tastatur fuer zuhause zu besorgen. Programmieren mag ich zuhause nicht mehr, seit ich das auf der Arbeit mit einer US Tastatur machen darf. Auch Umlaute und ß hab ich mir fast schon abgewoehnt...

      --
      Ich bin dafuer verantwortlich was ich sage, nicht dafuer, was Du verstehst.
      1. @@Steel:

        nuqneH

        Programmieren mag ich zuhause nicht mehr, seit ich das auf der Arbeit mit einer US Tastatur machen darf.

        Eckige und geschweifte Klammern auf einer deutschen Tastatur führen unweigerlich zu Krämfen: erst zu Fingerkrämpfen, dann zu Schreikrämpfen.

        Auch Umlaute und ß hab ich mir fast schon abgewoehnt...

        Aber warum DAS denn? Es gibt doch Tastaturtreiber wie US International, mit denen sich Umlaute, ß, á etc. mühelos eingeben lassen.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
  2. Grüße,
    lass das - manche benutzen ganz bewusst 123 als passwort - denn ist damit geschütztes konto einem scheißegal, will man sich auch keine zwanzigstes komplexes passswort merken, man nimmt halt in kauf, dass der account gehackt wird - der hier zB - mir ist es sowas von egal, wenn einer mein account hier hackt.
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth
    1. lass das - manche benutzen ganz bewusst 123 als passwort [...] mir ist es sowas von egal, wenn einer mein account hier hackt.

      War ja einfach: zeit dein Passwort zu ändern :p

      mfg, suit ;)

      1. mfg, suit ;)

        War wirklich ich :p

      2. @@bIeicher:

        nuqneH

        lass das - manche benutzen ganz bewusst 123 als passwort
        War ja einfach:

        12345 – Only an idiot would put it on his luggage!”

        zeit dein Passwort zu ändern :p

        “And change the combination on my luggage!”

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
      3. Grüße,

        War ja einfach: zeit dein Passwort zu ändern :p

        1. ok, ich muss zugeben ich benutze hier ein buchstaben/zahlen kombo
        2. ich weiß echt nicht welchen sinn accounts hier haben - man kann doch auch ohne schreiben, und die einstellungen könnte man auch anders speichern, nicht?
          MFG
          bleicher
        --
        __________________________-

        FirefoxMyth
          1. ok, ich muss zugeben ich benutze hier ein buchstaben/zahlen kombo

          Ich weiß :p

          1. ich weiß echt nicht welchen sinn accounts hier haben

          Um zu verhindern, dass sich jemand als bleicher ausgibt :p

      4. bleicher != bIeicher

        Wenn Du mal unter meiner (richtigen) ID postest, schenk ich Dir nen Euro.

        --
        Ich bin dafuer verantwortlich was ich sage, nicht dafuer, was Du verstehst.
        1. bleicher != bIeicher

          aber bleicher == bleicher

          Der klassische IL-Fake konnte zumindest ;)

          mfg suit

          1. Der klassische IL-Fake konnte zumindest ;)

            ... einige überzeugen :p

            1. Keine grosse Kunst. :)

              Steel

  3. Hi,

    wie kann ich in PHP bestimmen, dass ein Passwort mindestens ein Kleinbuchstabe, ein Großbuchstaben, eine Zahl und ein Sonderzeichen enthalten muss?

    was ist grün, hat Klauen, sechs Beine und frisst sich durch alles durch?

    Na logisch: Ein Frosch, ein Bär, ein Marienkäfer und konzentrierte Schwefelsäure.

    Mit anderen Worten: Du hast vier Bedingungen, nicht eine.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. was ist grün, hat Klauen, sechs Beine und frisst sich durch alles durch?

      Was ist grün, hat lange Haare, sitzt in der Wiese und quakt?

      Ein Angora-Frosch :p

  4. wie kann ich in PHP bestimmen, dass ein Passwort mindestens ein Kleinbuchstabe, ein Großbuchstaben, eine Zahl und ein Sonderzeichen enthalten muss?

    Halte ich für uncool - was ist, wenn ich ein extrem sicheres Passwort habe, dass keinen Zahl enthält?

    -WbcVhM}RMNBPLmV ist z.B. ein nettest und potentiell sehr sicheres Passwort - eine Zahl enthält es trotzdem nicht.

    Den Benutzer darauf hinweisen, dass sein Passwort potentiell unsicher ist halte ich für sinnvoll, den benutzer zu einem bestimmten passwort zu zwingen aber nicht.

    Ebenfalls sind Längenbeschränkungen uncool - mindestens 8 Zeichen? Wozu?

    Max01.01.1970 enthält auch Sonderzeichen, Zahlen und Groß- sowie Kleinbuchstaben und ist mindestens 8 Zeichen lang - sicher ist das aber vermutlich nicht, wenn der Benutzer Max heisst und am 01.01.1970 Geburtstag hat.

    eG<|IN# ist als Passwort gefühlt sicherer als das oben genannte.

    Wie bekomme ich meine Bedingung, das obige Bedingung zutrifft?

    Das sagte Cheatah bereits.