Ich entwickle eine PHP-Anwendung, die auf Anfrage von mehreren Clients reagieren muss, und ich denke "Kann einer der Clients den PHP-Code sehen, den ich schreibe?".Kann ein Client serverseitigen PHP-Quellcode anzeigen?
Antwort
Nein, es sei denn,
- Es ist ein Server eine falsche Konfiguration
- Es ist ein schlechtes Echo/include irgendwo
Nein. Es sei denn, Sie echo es ihnen unter, wo Sie es tatsächlich verwenden.
Wenn Sie Ihren Webserver ja statt analysieren Ihre PHP dienen gesetzt. Aber dann würden die Kunden nicht arbeiten. Also die Sperrung von Sicherheitslücken, Antwort ist nein.
Nein, aber Sie sollten alle Maßnahmen ergreifen, um dies zu verhindern.
Sie sollten immer Ihren sensiblen Code (heck, warum nicht alle?) In einem Verzeichnis unterhalb Ihres Servers Arbeitsverzeichnis (sagen/www), auf diese Weise, wenn der Server versaut wird, wird es nicht in der Lage, Ihren Code zu zeigen zur Welt, weil dieser Code von php eingeschlossen wird, der überhaupt nicht funktioniert.
Verwendung umfasst von unterhalb oder außerhalb des www served-Verzeichnisses. (kann noch nicht +1 .. für Frankie)
Verwenden Sie keine Symlinks für Ihre HTTP-Verzeichnisse. Ich habe absichtlich dies verwendet, um Source und execute je nach Benutzeranforderungspfad anzuzeigen, aber das erforderte httpd.conf Änderungen (oder Fehlkonfiguration) und kann explizit in httpd.conf deaktiviert werden.
Wenn Sie das Herunterladen von Dateien mit fopen zulassen, übergeben Sie nichts, was der Benutzer erstellt, oder sie könnten herausfinden, wie Sie es erhalten, um alle Dateien zu finden, die sie finden können. Bedenken Sie:
fopen('reports/' . $_GET['blah']);
, wo der Benutzer geht in '../index.php'
Nr Vorausgesetzt, dass Sie ein L/UAMP Server ordnungsgemäß installiert haben, oder drucken, nicht aus (Echo, print_r, usw.) und des Kerns Ihres Codes wird PHP verarbeitet und die Logik oder HTML, die es ausgeben soll, werden auf der Seite verwendet, nicht sichtbar.
N.B. Wenn in einem Verzeichnis oder einer geeigneten .htacess-Datei kein 'Index' vorhanden ist, zeigt ein Apache-Server eine Liste von Dateien im Verzeichnis an, die heruntergeladen und überprüft werden können.
Ja, aber selbst wenn Sie sie herunterladen, sehen Sie nur den HTML-Code, der generiert wird. Sie werden den PHP-Code nicht sehen. – galdikas
Ein Fehler, denn es ist zu geschehen einen PHP-Tag in einer PHP-Zeichenfolge einzufügen, Beispiel:
$string = "This is the answer: <s><?php echo $answer; ?></s>";
echo $string;
Die Person hat eine Strg + C und Strg + V von etwas, das entlang der Zeichenfolge gedruckt werden soll , aber der Programmierer hat vergessen, die PHP-Tags durch Ablenkung zu entfernen.
- 1. Client vom serverseitigen Signalgeber trennen
- 2. ASP.NET: Synchronisieren von Client- und serverseitigen Validierungsregeln
- 3. SQL Native Client 10 Leistung miserable (aufgrund von serverseitigen Cursors)
- 4. Gibt es ein Konzept von serverseitigen Cookies in ASP.NET?
- 5. Kann jemand ein BitmapField anzeigen?
- 6. Wie kann ich die Client-ID eines gebundenen Steuerelements mit JavaScript und/oder serverseitigen Tags abrufen?
- 7. Socketstream (0.3) serverseitigen Code Verwirrung
- 8. Abbrechen einen serverseitigen GWT Anruf
- 9. Hinzufügen von einfachen serverseitigen Skripten zu ASP.NET
- 10. Echtzeit-Interaktion von zwei serverseitigen Node.js-Anwendungen
- 11. Behandlung von asynchronen serverseitigen Operationen
- 12. Kann ein mehrschichtiges Fenster zwei Anzeigen umfassen?
- 13. Kann ich ein UISegmentedControl-Objekt vertikal anzeigen?
- 14. Kann ein JFrame einen Prozess anzeigen?
- 15. HTML von serverseitigen Skripten manipulieren
- 16. Wie kann ein Client ein XML-Schema am besten überprüfen?
- 17. Hochladen von Dateien mit nicht serverseitigen Eingabesteuerelementen
- 18. Mqtt Wie ein Client erfahren kann, dass ein anderer Client verbunden ist oder nicht
- 19. Unaufdringliches JavaScript mit serverseitigen Werten, Best Practice?
- 20. Aufrufen einer asp.net-serverseitigen Methode über jQuery
- 21. Aufrufen einer serverseitigen Funktion mithilfe eines Javascripts
- 22. Hinzufügen eines serverseitigen Ereignisses zum Extender-Steuerelement
- 23. Wie kann man eine clientseitige Zeit mit einer serverseitigen Dateiänderungszeit vergleichen?
- 24. Kontaktformular mit serverseitigen Validierungen in AngularJS
- 25. o ein Bild anzeigen
- 26. Wie ein Jabber-Client entwickeln
- 27. Wie kann ich mit HTML5 E-Mail-Eingangstyp mit serverseitigen .NET
- 28. kann nicht CloudPlatform Client-
- 29. Wie synchronisiert man HTML5 local/webStorage und serverseitigen Speicher?
- 30. Umgang mit serverseitigen abgebrochenen Long-Poll/Comet-Updates in JQuery
Können Sie ein Beispiel für schlechte Include oder Echo geben? – Mj1992