Apache ausfuehren von dateien im verzeichniss verbieten

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache ausfuehren von dateien im verzeichniss verbieten

Postby justinCase » 04. February 2015 19:01

Hallo Gemeinde,

Ich wuerde mir gerne ein uploadscript erstellen und bin noch bei den vorbereitungen dazu.
Auf folgenden befehl bin ich gestossen

'php_flag engine 0'
bzw
'php_admin_flag engine 0'

leider verstehe ich den unterschied nicht :( aber der befehl soll bewirken, dass php befehle in diesem verzeichniss nichtmehr ausgefuehrt werden.
Nun suche ich nach einem befehl der ALLE sprachen etc verhindert.

mfg
justinCase
 
Posts: 3
Joined: 04. February 2015 18:52
Operating System: win7

Re: Apache ausfuehren von dateien im verzeichniss verbieten

Postby Nobbie » 04. February 2015 20:47

php_flag erlaubt es (theoretisch), jeden Wert in der Apache Konfiguration zu ändern, wobei eben PHP Werte geändert werden.

php_flag kann man sowohl in der Grundkonfiguration von Apache (also httpd.conf und alle Unterdateien), als auch in .htaccess angegeben.

php_admin_flag kann nur in der Grundkonfiguration (als nur in httpd.conf usw.) angegeben werden und dieser dann gegebene Wert kann auch nicht mehr dynamisch geändert werden, weder durch irgendeine Angabe in .htaccess, noch durch irgendeinen Funktionsaufruf in einem PHP Script. Das gleiche gilt für php_admin_value, damit wird nicht nur ein flag gesetzt (das ist in aller Regel ein Boolescher Wert, als 0 oder 1 oder false oder true oder so), sondern ein freier Wert, der kann numerisch sein, das kann ein String sein usw., aber hier ist dieser Wert nicht mehr zu ändern durch .htaccess oder Funktionsaufrufe.

Das ist der grundsätzliche Unterschied und was dann dahinter steht, welche PHP Direktive gemeint ist, das sieht man dann ja.

engine = 0 (bzw. anscheinend nur "engine 0", aber das kann man ja einfach nachschauen), das heißt dann eben, hier ist PHP ausgeschaltet. Mit welcher "Dringlichkeit", das musst Du entscheiden an Hand Deiner Infrastruktur.
Nobbie
 
Posts: 13182
Joined: 09. March 2008 13:04

Re: Apache ausfuehren von dateien im verzeichniss verbieten

Postby justinCase » 05. February 2015 00:17

Hi

Danke fuer dein beitrag Nobbie.

sowie ich es jetzt verstanden habe, muss ich in
"/etc/apache2/apache2.conf" ein Directory verweis anlegen,
um das interpretieren von php zu verbieten ("ohne ausnhame") und auf das Directory beschraenkt.

<Directory /var/www/hierkeinphp/>
php_admin_flag engine 0
</Directory>

dann kann es weder per .htaccess noch ueber die vhost.conf geaendert werden.

Mein anliegen ist es aber alle sprachen etc (perl java cgi ...)zu verbieten.
Gibt es da einen globalen befehl, den ich so in der art einfuegen koennte?
justinCase
 
Posts: 3
Joined: 04. February 2015 18:52
Operating System: win7

Re: Apache ausfuehren von dateien im verzeichniss verbieten

Postby Altrea » 05. February 2015 00:37

Darf man Fragen was für einen Sinn solch ein Verzeichnis erfüllen soll?
Das erschließt sich mir nicht so ganz. Unter Umständen gibt es andere Möglichkeiten dein Ziel zu erreichen.
Was für Dateien sollen in dem Verzeichnis liegen und dennoch über HTTP Requests abrufbar sein?
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11933
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Apache ausfuehren von dateien im verzeichnis verbieten

Postby justinCase » 05. February 2015 01:13

Hi Altrea

Das Verzeichnis sollte als ablage dienen. also per php uploadscript ereichbar,
um von aussen dateien im sehr kleinen umfang hochzuladen.
das verzeichnis braucht somit keine rechte um irgentetwas auszufuehren und sollte sie daher auch nicht bekommen.

Ich habe vorher suchmaschienen benutzt um so eine befehl zu finden, bin aber nicht fuendig geworden.
justinCase
 
Posts: 3
Joined: 04. February 2015 18:52
Operating System: win7

Re: Apache ausfuehren von dateien im verzeichniss verbieten

Postby Altrea » 05. February 2015 02:07

Dann sollte sich das Verzeichnis oberhalb des Document_Root befinden und das upload script als Schnittstelle dienen.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11933
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Apache ausfuehren von dateien im verzeichnis verbieten

Postby Nobbie » 05. February 2015 13:58

justinCase wrote:das verzeichnis braucht somit keine rechte um irgentetwas auszufuehren und sollte sie daher auch nicht bekommen.


Wie Altrea schon sagt, dann lege es doch ganz "weit weg", dass man überhaupt nicht von außen mit Apache dran kommt. Apache kann ja nur auf Verzeichnisse zugreifen, die unterhalb des DocumentRoot liegen (also /var/www bei Dir) bzw. auch auf ALIAS, aber das weiß ich hier nicht, ob und welche Du da hast.

Wenn Du aber als Upload Ziel in dem PHP Upload Script beispielsweise den Ordner /opt/useruploads festlegst, der liegt ja kilometerweit falsch, da kommt Apache gar nicht dran, ergo brauchst Du auch überhaupt keine Änderungen zu machen, dass dort keine bösen PHP Scripte laufen, man kann sie eh nicht von außen erreichen. Ist um Welten sicherer und besser als Dein Ansatz.
Nobbie
 
Posts: 13182
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 273 guests