Ankündigung

Einklappen
Keine Ankündigung bisher.

Pfad überprüfen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Pfad überprüfen

    Hallo.

    Den folgenden Code habe ich mir zusammengebastelt, um einen Pfad zu überprüfen. Die Funktion gibt true zurück, wenn der Pfad nur die Zeichen in der Whitelist enthält.
    Alle Zeichen werden einzeln überprüft.

    Meine Frage: das geht doch sicher auch schneller?
    Wie kann ich das optimieren?

    PHP-Code:
    public static function path_chars_valid($path) {

            
    $valid false;

            
    $s strlen(strval($path));

            
    //check each character
            
    for($i=0;$i<$s;$i++)
            {
                if(
    preg_match("~^[a-zA-Z0-9:\\_+\./-]$~"$path[$i]))
                {
                    
    //no illegal characters
                    
    $valid true;
                }
                else
                {
                    
    //path contains illegal characters
                    
    $valid false;
                    break;
                }
            }

            return 
    $valid;



  • #2
    Zitat von chunky Beitrag anzeigen
    Alle Zeichen werden einzeln überprüft.
    Das ist natürlich blödsinnig.

    Es reicht dir doch, wenn ein Zeichen gefunden wird, dass sich nicht in der Menge der erlaubten befindet.
    Also lasse den Ausdruck danach suchen, und werte das Ergebnis dieser Suche entsprechend aus.

    Kommentar


    • #3
      Wie kann ich das optimieren?
      Ohne den Anwendungszweck zu kennen... kein Kommentar
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        PHP-Code:
        if(strspn($path'a-zA-Z0-9_.:+-\\/') !== strlen($path))
            return 
        false

        Kommentar

        Lädt...
        X