Nginx/PHP URL Problem

JeGr

Member
Ahoi,
Debian 7 LEMP PerfectServer Setup mit ISPC3.
Kunde hat sich nun lustige Software gekauft und installiert, die jetzt fingerpointing zum Hoster macht, weil eine URL im Stil
http://domain.tld/path/file.php/lang/de?var=xy
nicht funktioniert. Mal davon abgesehen, dass ich das von der Art der URL her eh schon ziemlich grausam finde (wenn schon Pfade nach dem PHP Aufruf, warum dann nicht alle Teile im Pfad kodiert) frage ich mich jetzt ernsthaft, wie das sinnvoll geparsed werden soll. Ich vermute mal der @PHP Block müsste hier mit einem RegEx nach dem .PHP erweitert werden um diesen Fall abzufangen, kann mich aber in Bezug auf Nginx, PHP und FPM noch an PathInfo Diskussionen erinnern, bei denen empfohlen wurde, fix_cgipathinfo bei den PHP Optionen zu setzen. Das wird im Howto aber explizit abgeschaltet.
Würde das in dem Fall Abhilfe leisten oder muss da eher ein modifizierter PHP Aufruf/@PHP Block ran?

Für Wordpress wo das ebenfalls mal ein Thema war, wurde von WP selbst ja ein Parsing wie das hier als bessere / sicherere Methode vorgeschlagen:

Code:
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
# This is a robust solution for path info security issue and works with "cgi.fix_pathinfo = 1" in /etc/php.ini (default)

include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_intercept_errors on;
fastcgi_pass php;
}

Über Hilfestellung wäre ich dankbar :)

Grüße
Jens
 

JeGr

Member
@Till hoppla, das sollte eigentlich ins ISPC3 Forum nicht ins generische Linux Forum.
@all Wäre trotzdem um Einsichten dankbar, wie das ggf. lösbar wäre oder obs einen Workaround gibt.
 

Werbung

Top