2016-06-03 4 views
-2

ich normalerweise unter Methode verwenden, wenn ich eine Form, ist

<?php 
    session_start(); 
    //my code 

?> 
<!DOCTYPE HTML> 
<html> 
    <form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post"> 
    <!--my code --> 
</html> 

Der Grund, warum ich beunruhigend bin vorlegen, ob ein Benutzer in der Lage sein wird, meinen PHP-Code zu sehen, ob ich meinen ganzen PHP-Code mit HTML verwenden Datei, die direkt an den Benutzer geht, gibt es ein Risiko, dass Benutzer jemals meinen PHP-Code sehen können?

+1

Sehen Sie Ihren PHP-Code? Nr. '$ _SERVER [" PHP_SELF "]' kann manipuliert werden, um XSS Ihre Seite zu injizieren. Siehe http://stackoverflow.com/questions/6080022/php-self-and-xss – chris85

+0

Nein. Der Benutzer kann Ihre Codes nicht sehen. aber ich empfehle, es getrennt zu halten. das bekommst du sehr oft beim Start von OOP, insb. in einem MVC-Muster, aber mach dir darüber keine Sorgen –

Antwort

4

Alle <?php ... ?> Code verlässt nie Ihren Server - es wird von PHP-Interpreter in Raw HTML geparst, so Endbenutzer wird nichts Server-bezogenen sehen.

2

Benutzer kann Ihren PHP-Code nicht sehen, aber es ist kein guter Weg. Die Verwendung einer leeren Zeichenfolge ist die beste Vorgehensweise und tatsächlich viel sicherer, als einfach $_SERVER['PHP_SELF'] zu verwenden.

Bei der Verwendung von $_SERVER['PHP_SELF'] es ist wirklich einfach durch einfaches Anhängen /<script> schädliche Daten zu injizieren, nachdem der every.php Teil der URL also nicht diese Methode verwenden und stoppen alle PHP-Tutorials, die es vorschlagen.

Verwandte Themen