Ich möchte eine weiße Liste machen, die auf einer Webseite zum Beispiel eingegeben, alle nicht autorisierten Zeichen ignoriert:Wie mache ich eine URL-Whitelist-Funktion? php
127.0.0.1/myweb/home.php?u=user // here is the authorized(default) url
aber, wenn ein Angreifer (Benutzer natürlich) meine Standard-URL wie folgt machen:
127.0.0.1/myweb/home.php/>"><script>alert("XSS")</script>&?u=user
und wenn der Angreifer drücken Sie neu laden oder eingeben (neuladen der URL mit nicht autorisierten Codes) die bösartigen Codes, die von der Seite neu geladen werden ignoriert und/oder automatisch löschen oder so etwas. Dann wird die neu geladen Seite eine safeurl wie folgt zurück:
127.0.0.1/myweb/home.php?u=user // back to the authorized url/s
ABER Ich habe keinen Code oder das Wissen, dies zu tun, habe ich versucht, preg_match()
zu passen, wenn einige Codes XSS Typ-Codes auf die URL existiert dann wird es auf eine Fehlerseite umgeleitet. Aber einige sagen, dass es nicht ratsam ist, weil es blacklisting
genannt wird und das empfohlene ist whitelisting
. Ich suche nach Beispielen für Whitelisting, aber ich finde nichts, wonach ich suche. Wenn ich nichts, was ich Whitelisting brauchen finden, könnte ich
Addtional (Fehlerprotokoll Apache) eine preg_match()
aka schwarze Liste Art von Code zu tun, auch weiterhin
[Mi 1. Juni 21: 53: 50,244776 2016] [core: error] [pid 3684: tid 1684] (20024) Der angegebene Pfad ist falsch formatiert oder enthält ungültige Zeichen: [client 127.0.0.1:51833] AH00127: Kann nicht zuordnen GET /ooplr2/home.php/%3E%22% 3E% 3Cscript% 3Ealert (% 22XSS% 22)% 3C/index.php HTTP/1.1
ist es sicher? Ich meine im Grunde können URL-XSS-Angriffe verhindern? Ich lese einen der Posts im Stackoverflow, da steht, dass es nicht ok ist? ähm, wenn meine Frage durch diese Funktion gelöst wird, werde ich sie wirklich benutzen. Danke – phew