Datenschutzerklärung

PHP: Diskussion zu url_rewriter.tags

Validome - Forum

Startseite Validome
RSS 2.0  
Sie sind nicht angemeldet. Atom 1.0  
Forum Home / Sonstige Technologien /

PHP: Diskussion zu url_rewriter.tags

  Beitrag schreiben
Autor
Beitrag Seiten: 1
haka
Mitglied

Ort: Emden
Registriert: 01.08.2006
Beiträge: 22
Folgender Code wird im FAQ vorgeschlagen:

Code:

<?php
ini_set( 'arg_separator.output' , '&amp;' );
ini_set( 'url_rewriter.tags' , 'a=href,area=href,frame=src,input=src,fieldset=' );
?>

Ein Problem kann fieldset= darstellen. Nicht jedes Formular enthält ein FIELDSET-Element. In HTML- / XHTML-Strict ist es aber nicht möglich, ein INPUT-Feld direkt innerhalb von FORM zu setzen, es muss zusätzlich ein Blockelement (P; DIV, FIELDSET ...) vorhanden sein.

Um das Problem zu umgehen, kann form=action ergänzt werden. Moderne Browser übertragen GET-Parameter aus dem ACTION-Attribut korrekt.

Der geänderte Code für url_rewriter.tags lautet dann also:

Code:

<?php
ini_set( 'arg_separator.output' , '&amp;' );
ini_set( 'url_rewriter.tags' , 'a=href,area=href,frame=src,input=src,fieldset=,form=action' );
?>

Falls die Session auch für CSS oder Scripts benötigt wird, können auch LINK und SCRIPT umgeschrieben werden. Die Ergänzung lautet dann: ,link=href,script=src.

Mit SCRIPT und LINK:

Code:

<?php
ini_set( 'arg_separator.output' , '&amp;' );
ini_set( 'url_rewriter.tags' , 'a=href,area=href,frame=src,input=src,fieldset=,form=action,link=href,script=src' );
?>

Adressen innerhalb von Javascripts oder andere Adressen, die mit der gleichen Session arbeiten sollen, müssen im PHP-Code ergänzt werden. Zur Ausgabe der Session-ID wird die Funktion session_id() abgefragt. Das ist z.B. bei Weiterleitungen mit META-Refresh (HTML) oder header() (PHP) der Fall.

Code:

<?php
$add_session_id = false;
if(!$_COOKIE['PHPSESSID'])
    $add_session_id = '?PHPSESSID='.session_id();
?>



_______________________________________
PHP Trawler Web CMS - http://trawler.msdazu.de
CMSBlog - http://cmsblog.msdazu.de

17.09.2006 18:53:25
http://cmsblog.msdazu.de Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Hallo,
vielen Dank für die Hinweise, ich werde sie in die FAQ nachtragen. Etwas würde ich aber anders machen.
Für:

Code:

<?php
$add_session_id = false;
if(!$_COOKIE['PHPSESSID'])
    $add_session_id = '?PHPSESSID='.session_id();
?>

würde ich

Code:

<?php
$add_session_id = false;
if(!$_COOKIE['PHPSESSID'])
    $add_session_id = '?' . session_name() . '=' . session_id();
?>

schreiben. Der Name des Sessionfeldes muß nicht unbedingt "PHPSESSID" lauten.


_______________________________________
mfg
Thomas Mell

www.validome.org

17.09.2006 23:05:52
  Zitieren
haka
Mitglied

Ort: Emden
Registriert: 01.08.2006
Beiträge: 22
Stimmt. Allerdings muss der Code dann auch nach den jeweiligen Bedürfnissen angepasst werden.

Bei if(!$_COOKIE['PHPSESSID'] fehlt eine schließende Klammer ;-)


_______________________________________
PHP Trawler Web CMS - http://trawler.msdazu.de
CMSBlog - http://cmsblog.msdazu.de

17.09.2006 23:41:14
http://cmsblog.msdazu.de Zitieren
HTMELL
Administrator

Registriert: 11.05.2006
Beiträge: 544
Ich habe die FAQ überarbeitet, kannst ja mal reinschauen ob es so i.o. ist ;-)

_______________________________________
mfg
Thomas Mell

www.validome.org

18.09.2006 00:32:15
  Zitieren
Seiten: 1   Beitrag schreiben
Wechsel zu

Die letzten Beiträge aus diesen Forum

Valid HTML 4.01