Welche Berechtigungen für PHP-Skripte / Verzeichnisse?
Ich versuche einem Freund zu helfen, eine Website von einem Web-Hotel in ein anderes zu verschieben. Der alte Platz ist schon geschlossen, ich habe nur eine Flat-Tar-Datei von dem, was drin war.
Die Website enthielt HTML-Dokumente und man konnte eine kleine Java-Anwendung (die auf ein Mobiltelefon geladen werden muss) herunterladen, um Daten an die Website zu senden.
Die mobile Java-Anwendung hat eine Zeichenfolge an gesendetURL=<HOST>/php/register.php
. Dieses PHP-Skript enthielt ein anderes PHP-Skript (../inc/db_login.php
), die mit einer SQL-Datenbank verbunden sind$link=mysql_connect()
. Eine andere Datei,register.php
, hat das SQL eingefügt, um die neu gesendeten Daten in die DB zu stellen.
Meine Frage ist grundsätzlich, wo ich diese 2 PHP-Dateien auf der neuen Website ablegen soll und welche Berechtigungen die Verzeichnisse und Dateien haben sollen.
Der alte Webserver hatte offensichtlich eine/php
und/inc
verzeichnisse. Keines davon existiert auf dem neuen Webserver. Soll ich sie erstellen? Welche Erlaubnis sollten sie haben? Ich denke, der Grund für das Passwort in einer separaten PHP-Datei war die Sicherheit. Das/php
und/inc
Verzeichnis hatte wahrscheinlich unterschiedliche Berechtigungen.
Der neue Server verfügt über Verzeichnisse:
/httpdos
/httpsdos
/cgi-bin
/conf
(und einige andere wahrscheinlich irrelevant)Meine Fragen
Hat die Dateierweiterung (.php
) bedeuten etwas für den Server: Da PHP-Skripte im HTML-Code "enthalten" sind (zwischen<?...?>
Muss der Server das Dateisuffix überprüfen oder ist es irrelevant? (Ich verstehe, dass der Server auf die reagiert<?...?>
, natürlich)
Sollte die öffentliche Akte (register.php
in meinem Fall) in diehttpdocs/
Verzeichnis oder reagiert der Server (Apache glaube ich) auf etwas und holt es in ein anderes Verzeichnis?
Sollte das PHP-Skript die Erlaubnis habenR-X
(lesen und ausführen),--X
(ausführen) oderR--
(lesen)? Aus Sicht des Betriebssystems liest Apache diese Dateien wahrscheinlich nur, was bedeutet, dass dies der Fall sein sollteR--
Dies würde jedoch bedeuten, dass der Client den gesamten PHP-Code in seinem Browser erhält, wenn der PHP-Dienst "gestoppt" wird (?). Ich würde es vorziehen, wenn es so wäre--X
aber da dies weder eine binäre ist noch eine hat#!
Ich denke, es muss sein--R
?
Wenn das öffentliche PHP-Skript in einem anderen Verzeichnis abgelegt werden kann (z/php
Anstatt von/httpdocs
) was sollte/php
(und das Drehbuch) zur Erlaubnis haben ?. Ich denke, der Server muss darüber Bescheid wissen/php
Verzeichnis (oder gibt es übliche Standardeinstellungen?)
Das PHP-Skript enthalten (../inc/db_login.php
, mit SQL Passwort) sollte nicht darunter sein/httpdocs
Ich vermute. Dies bedeutet, dass meineregister.php
enthält eine Datei, die nicht unter der ist/httpdocs
Teilbaum. Funktioniert das? Muss der Server wissen?
Möglicherweise müssen Sie die Serverkonfiguration kennen. Nehmen Sie einfach die Standardeinstellung in Ihrer Antwort an (und Sie können feststellen, wo sie geändert wurde, wenn sie vorliegt).