dedlfix: T-Flag (mod_rewrite) prinzipielle Lösung

Beitrag lesen

Hi!

Der Request nach *.phps wird umgeschrieben auf den apache-internen Mimetype application/x-httpd-php-source. Nach einem Rewrite-Vorgang wird der nun geänderte Request erneut ins Rennen geschickt und der Apache nimmt den Handler "PHP-Source-Code ausliefert, aber bitte schön bunt".

"Funzt nicht" - probiers aus, exakt diese Zeile aus der Dokumentation funktioniert nicht. example.com/index.phps sollte den Quelltext von index.php ausliefert - tuts aber nicht.

Bei meinem Test "funzte" es so wie ich es erwartete. Vielleicht reagiert dein PHP auf andere MIME-Types als den angegebenen, einige Hoster konfigurieren das anders als vorgeschlagen. Es ist jedoch für deinen Fall irrelevant, ob das funktioniert oder nicht, weil es ganz einfach der falsche Ansatzpunkt ist, an dem du die ganze Zeit hantierst. Du hast mich nun soweit gebracht, dass ich verschiedene Dokumentation gesucht, gefunden und gelesen habe, wie der Apache intern arbeitet. Dafür bekommst dun nun eine Antwort, die du nicht haben willst :-), weil sie dein Problem nicht direkt weiterbringt, sie dir aber hoffentlich zeigt, dass du nicht weiterkommen kannst, so wie du es gerade versuchst.

Ein Webserver, so auch der Apache, arbeitet grob gesagt nach diesem Prinzip:

Request -> Content-Generator -> Response

Der Content-Generator ist verantwortlich, was als Response zurückgeht. Im einfachsten Fall ist das ein Dateiinhalt. Soweit sollte das ja bekannt sein. Beim Apachen fungieren die Handler als Content-Generator. Das Finden des passenden Handlers kann dabei einerseits direkt über eine Dateiendung oder eine Position im Filesystem erfolgen, andererseits indirekt über einen MIME-Type. Wenn also kein Handler direkt zugewiesen ist, muss erst ein Mapping auf einen MIME-Type erfolgen, damit dann ein dem MIME-Type zugewiesener Handler arbeiten kann.

Wenn du nun also schon auf direktem Wege zu einem Handler gelangt bist, ist die allgemeine MIME-Type-Konfiguration des Apachen nicht mehr wichtig, um den Content-Type zu bestimmen, sondern nur noch das was der Handler als Content-Type deklariert.

Beim indirekten Weg über einen MIME-Type (der ein offizieller oder auch nur ein intern verwendeter sein kann) bestimmt letztlich auch der Handler, was als Content-Type in der Response steht. Manchmal ist es der "unterwegs" ermittelte, der vom Handler durchgereicht wird, manchmal ein vom Handler generierter.

Das Content-Type-Ergebnis vom Handler ist also nur in ihm selbst beeinflussbar und nur beim durchreichenden Handler von der Apachen-MIME-Type-Konfiguration.

Lo!

0 76

Apache/PHP soll CSS parsen und als text/css ausliefern

suit
  • webserver
  1. 1
    Mega
    1. 0
      suit
      1. 1
        fastix®
        1. 0
          suit
          1. 0
            fastix®
  2. 0
    fastix®
    1. 0
      suit
      1. 0
        fastix®
        1. 0
          suit
          1. 0
            fastix®
            1. 0

              Nachtrag der Lösung betreffs Testing

              fastix®
            2. 0
              Edgar Ehritt
            3. 0
              suit
              1. 0
                fastix®
                1. 0
                  suit
                2. 0

                  Regulärer Ausdruck, in FilesMatch - case sensitive?

                  suit
          2. 0
            Edgar Ehritt
    2. 0
      Edgar Ehritt
  3. 0
    Pragma
    • php
    1. 0
      Gerold
    2. 0
      fastix®
      1. 0
        Pragma
      2. 0

        Apache - Handler via CGI aufrufen

        Edgar Ehritt
        • webserver
  4. 0

    T-Flag (mod_rewrite) prinzipielle Lösung

    suit
    1. 1
      dedlfix
      1. 0
        suit
        1. 0
          dedlfix
          1. 0
            dedlfix
            1. 0
              suit
              1. 1
                dedlfix
                1. 0
                  dedlfix
                2. 0
                  dedlfix
                  1. 0
                    suit
                    1. 0
                      dedlfix
              2. 0
                Edgar Ehritt
    2. 0
      Pragma
      1. 0
        suit
        1. 0
          Pragma
          1. 0
            suit
            1. 0
              Pragma
              1. 0
                suit
  5. 0
    claudia_k
    1. 0
      suit
      1. 0
        dedlfix
        1. 0

          OT: direkte Handler vs MIME-Type-Handler

          claudia_k
          1. 0
            dedlfix
            1. 0
              claudia_k
              1. 0
                dedlfix
                1. 0
                  Edgar Ehritt
                  1. 0
                    dedlfix
                    1. 0
                      Edgar Ehritt
                  2. 0

                    Apache-interne Vorgänge beim Request-Handling

                    dedlfix
                    1. 0

                      mod_header zum überschreiben von bestehenden Headern

                      suit
                      1. 0
                        dedlfix
                      2. 0
                        Edgar Ehritt
                    2. 0
                      Edgar Ehritt
                      1. 0
                        dedlfix
                        1. 0
                          Edgar Ehritt
                          1. 0
                            dedlfix
                            1. 0
                              Edgar Ehritt
                              1. 0
                                dedlfix
                                1. 0
                                  Edgar Ehritt
        2. 0
          Edgar Ehritt
          1. 0
            dedlfix
  6. 0
    DiBo33
    1. 0
      suit
      1. 0
        DiBo33
      2. 0

        Apache/PHP

        Edgar Ehritt
        • projektverwaltung
        1. 0
          Edgar Ehritt
          • menschelei
        2. 0
          suit
          1. 0
            Edgar Ehritt
            1. 0
              suit
              1. 0
                fastix®
                1. 0
                  suit
                  • menschelei
  7. 0

    gelöst

    suit