Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: $PHP_SELF waurm und wo?

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    $PHP_SELF waurm und wo?
    am: 17. Februar 2016, 14:45:22
    Ich hatte mal irgendwo gelesen, man sollte nicht $_SERVER['PHP_SELF'] verwenden, sondern die $PHP_SELF

    1) Warum das?

    2) Wo wird die Variable $PHP_SELF gesetzt?

    3) Warum habe ich in der /products_new.php den Wert NULL?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=34388.0
    Shop Hosting

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.306
    • Geschlecht:
    Re: $PHP_SELF waurm und wo?
    Antwort #1 am: 17. Februar 2016, 17:36:08
    1) Warum das?

    aus Sicherheitsgründen

    2) Wo wird die Variable $PHP_SELF gesetzt?

    in der /includes/application_top.php

    3) Warum habe ich in der /products_new.php den Wert NULL?

    wenn du das innerhalb einer Funktion verwendest, musst du die Variable auf global setzen.

    Gruss Gerhard

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: $PHP_SELF waurm und wo?
    Antwort #2 am: 17. Februar 2016, 17:57:03
    :datz:  :horseshit:

    Danke! Mit global Keyword geht es...

    Ich wundere mich nur weil ..... das funktioniert wunderbar für alle anderen Seiten (advanced_search_result.php, specials.php, product_listing.php) aber nicht für die products_new.php

    Code: XML  [Auswählen]
    <form id="product_list_style" action="{php}echo xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params());{/php}" method="post">

    Es geht tatsächlich so auch in der products_new.php
    Code: XML  [Auswählen]
    <form id="product_list_style" action="{php}global $PHP_SELF; echo xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params());{/php}" method="post">

    Ich verstehe immer noch nicht warum ..... wo bin ich da innerhalb einer Funktion?  :-o

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: $PHP_SELF waurm und wo?
    Antwort #3 am: 17. Februar 2016, 22:46:51
    Kleine Anmerkung:

    Wenn man in den 'application_top' Dateien jeweils folgenden Code

    Code: PHP  [Auswählen]
    $PHP_SELF = set_php_self();
    [/u]

    mit diesem ersetzt

    Code: PHP  [Auswählen]
    $_SERVER['PHP_SELF'] = $PHP_SELF = set_php_self();

    steht einem danach die superglobale Variable "$_SERVER['PHP_SELF']" überal, also auch in Funktionen bzw. Methoden, mit der selben Sicherheit wie die lokale Variable "$PHP_SELF" zur Verfügung.

    Gruss
    Hanspeter

    webald

    • modified Team
    • Beiträge: 2.791
    Re: $PHP_SELF waurm und wo?
    Antwort #4 am: 18. Februar 2016, 07:58:01
    aber nur, wenn man die application_top auch einbindet. Nutzt man das Script ggf. an anderer Stelle ohne die application_top macht man es anfällig für xss.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: $PHP_SELF waurm und wo?
    Antwort #5 am: 18. Februar 2016, 09:41:24
    Ja, aber wenn man keine application_top Datei einbindet, ist abgesehen von vielem Anderem was dann fehlt die Variable "$PHP_SELF" nicht initialisiert.

    Gruss
    Hanspeter

    webald

    • modified Team
    • Beiträge: 2.791
    Re: $PHP_SELF waurm und wo?
    Antwort #6 am: 18. Februar 2016, 10:48:30
    Richtig, aber bei Deiner Lösung könnte man generell mit $_SERVER['PHP_SELF'] arbeiten, nur das mit application_top die sichere Variante genutzt wird, ohne Einbindung der application_top aber trotzdem der Code (....$_SERVER['PHP_SELF']...) funktionieren würde, allerdings in der unsicheren Variante.
    Werbung / Banner buchen
    20 Antworten
    9812 Aufrufe
    23. März 2015, 17:04:17 von hiauto
    4 Antworten
    2338 Aufrufe
    05. Juni 2015, 20:05:08 von Nils
    1 Antworten
    1283 Aufrufe
    25. Juli 2017, 16:05:25 von KMW
    2 Antworten
    1720 Aufrufe
    26. Mai 2017, 17:17:16 von awids