Seite 1 von 1

SessionID als Parameter - nicht als Cookie

Verfasst: Mi 24. Okt 2007, 13:47
von asycs
http://www.contenido.de/forum/viewtopic ... 00d333dde3

als Grundlage frage ich mich, wie ich eine Sprachumschaltung umsetzen kann.

1. ModRewrite
2. Keine Cookies (wie z.B. Google)


Kann man die SessionID wie im Backend als Parameter übergeben?

Vielen Dank.

Verfasst: Do 25. Okt 2007, 10:15
von xmurrix
Hallo,

wenn im Frontend die Session ID per get an die URL angehängt werden soll, kannst du das in der Klasse "Contenido_Frontend_Session" setzen.
Öffne die Datei "/conlib/local.php" und ersetze die Zeile 143

Code: Alles auswählen

var $mode           = "cookie";           ## We propagate session IDs with cookies
gegen

Code: Alles auswählen

var $mode           = "get";           ## Add session ID to generated URLs (see $sess->url())
Dann wird die Session Id der URL immer angeängt, vorausgesetzt du verwendest in allen Modulausgaben die url() Methode des Session Objektes. In allen Moduloutputs sollte dann die Ausgabe der URL wie folgt sein:

Code: Alles auswählen

$link = $sess->url(front_content.php?...);
Mod Rewrite sollte damit schon funktionieren, habe es aber nicht getestet. Ich favorisiere eher die Lösung, die Session ID als Cookie abzulegen. Das Anhängen der Sessionid verunstaltet die URL und sie könnte auch von Anderen "geklaut" werden.

Gruß
xmurrix

Verfasst: Mi 9. Apr 2008, 09:48
von OliverL
Sehr wichtig ist die Konsistenz der Module!!!
Dann aber die " (Anführungszeichen) in $sess nicht vergessen! :lol:

Code: Alles auswählen

$link = $sess->url([b]"[/b]front_content.php?[u]...[/u][b]"[/b]);

und auch nett ist es wenn man sich die CMS-Typen mal anschaut wird bei der Internen verlinkung nicht die Session-ID übergeben. (z.B. CMS_HTML, CMS_HTMLHEAD ...)

hierfür empfehle ich folgendes SQL Update:
Es löscht erst die alten und fürgt dann die Datensätze ein.
Backup sollte von der Tabelle erst gemacht werden (sollte man nicht mehr betonen müssen / ich tu's immer noch).

Keine Ahnung was das standard Modrewrite sagt. Ich verwende ein eigenes Updatefähige index.php + hataccess.

Geändert wird nur "lastmodified" auf '2008-04-09 10:45:00'.
und im "code" entsprechend dem vorangegangenem Code ca. das:

Code: Alles auswählen

if( !edit ) {
	$tmp_link = $sess->url("front_content.php");
	$tmp = str_replace("front_content.php?", "front_content.php?", $tmp)
	$tmp = str_replace("front_content.php", $tmp_link."&", $tmp)
}

Code: Alles auswählen

-- phpMyAdmin v 2.8.2
-- Erstellungszeit: 09. April 2008 um 10:35
-- Server Version: 4.1.20
-- PHP-Version: 4.4.7
-- Daten für Tabelle `con_type`


DELETE FROM con_type WHERE type in ('CMS_HTMLTEXT', 'CMS_HEAD', 'CMS_TEXT', 'CMS_HTML', 'CMS_HTMLHEAD');

INSERT INTO `con_type` (`idtype`, `type`, `code`, `description`, `status`, `author`, `created`, `lastmodified`) VALUES 

(1, 'CMS_HTMLHEAD', '/**\r\n * CMS_HTMLHEAD\r\n */ \r\n$tmp = $a_content[''CMS_HTMLHEAD''][$val];\r\n$tmp = urldecode($tmp); \r\n\r\n$tmp = AddSlashes(AddSlashes($tmp)); \r\n$tmp = str_replace("\\\\\\''","''",$tmp); \r\n$tmp = str_replace("\\$",''\\\\\\$'',$tmp); \r\n\r\ncInclude("includes", "functions.lang.php"); \r\ncInclude("classes", "class.htmlelements.php"); \r\n\r\nif ($edit) {\r\n    if ($tmp == "") { \r\n        $tmp = " "; \r\n    } \r\n    $insiteEditingDIV = new cHTMLDiv; \r\n    $insiteEditingDIV->setId("HTMLHEAD_".$db->f("idtype")."_".$val);\r\n    $insiteEditingDIV->setEvent("Focus", "this.style.border=''1px solid #bb5577'';"); \r\n    $insiteEditingDIV->setEvent("Blur", "this.style.border=''1px dashed #bfbfbf'';"); \r\n    $insiteEditingDIV->setStyleDefinition("border", "1px dashed #bfbfbf"); \r\n    $insiteEditingDIV->setStyleDefinition("direction", langGetTextDirection($lang)); \r\n    \r\n    $insiteEditingDIV->updateAttributes(array("contentEditable" => "true")); \r\n    \r\n    $insiteEditingDIV->setContent("_REPLACEMENT_"); \r\n    \r\n\r\n    /* Edit anchor and image */ \r\n    $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTMLHEAD&typenr=$val");\r\n    $editAnchor = new cHTMLLink; \r\n    $editAnchor->setLink("javascript:setcontent(''$idartlang'',''" . $editLink . "'');"); \r\n    \r\n    $editButton = new cHTMLImage; \r\n    $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithead.gif");\r\n    $editButton->setBorder(0); \r\n    $editButton->setStyleDefinition("margin-right", "2px"); \r\n        \r\n    $editAnchor->setContent($editButton); \r\n    \r\n    \r\n    /* Save anchor and image */ \r\n    $saveAnchor = new cHTMLLink; \r\n    $saveAnchor->setLink("javascript:setcontent(''$idartlang'',''0'')"); \r\n    \r\n    $saveButton = new cHTMLImage; \r\n    $saveButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_speichern.gif"); \r\n    $saveButton->setBorder(0); \r\n    \r\n    $saveAnchor->setContent($saveButton); \r\n\r\n    /* Process for output with echo */ \r\n    $finalEditButton = $editAnchor->render(); \r\n    $finalEditButton = AddSlashes(AddSlashes($finalEditButton)); \r\n    $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton); \r\n    \r\n    $finalEditingDiv = $insiteEditingDIV->render(); \r\n    $finalEditingDiv = AddSlashes(AddSlashes($finalEditingDiv)); \r\n    $finalEditingDiv = str_replace("\\\\\\''","''",$finalEditingDiv); \r\n    \r\n    $finalEditingDiv = str_replace("_REPLACEMENT_", $tmp, $finalEditingDiv); \r\n    \r\n    $finalSaveButton = $saveAnchor->render(); \r\n    $finalSaveButton = AddSlashes(AddSlashes($finalSaveButton)); \r\n    $finalSaveButton = str_replace("\\\\\\''","''",$finalSaveButton); \r\n    \r\n    $tmp =  $finalEditingDiv . $finalEditButton . $finalSaveButton;\r\n}\r\nelse {\r\n   $tmp_link = $sess->url("front_content.php");\r\n   $tmp = str_replace("front_content.php?", "front_content.php", $tmp);\r\n   $tmp = str_replace("front_content.php", $tmp_link."&", $tmp);\r\n}\r\n', 'Headline / HTML', 0, '', '0000-00-00 00:00:00', '2008-04-09 10:45:00'),

(2, 'CMS_HTML', '/**\r\n * CMS_HTML \r\n */ \r\n$tmp = $a_content[''CMS_HTML''][$val]; \r\n$tmp = urldecode($tmp); \r\n\r\n$tmp = AddSlashes(AddSlashes($tmp)); \r\n$tmp = str_replace("\\\\\\''","''",$tmp); \r\n$tmp = str_replace("\\$",''\\\\\\$'',$tmp); \r\n\r\ncInclude("includes", "functions.lang.php"); \r\ncInclude("classes", "class.htmlelements.php"); \r\n\r\nif ($edit) { \r\n    if ($tmp == "") { \r\n        $tmp = " "; \r\n    } \r\n    $insiteEditingDIV = new cHTMLDiv; \r\n    $insiteEditingDIV->setId("HTML_".$db->f("idtype")."_".$val); \r\n    $insiteEditingDIV->setEvent("Focus", "this.style.border=''1px solid #bb5577'';"); \r\n    $insiteEditingDIV->setEvent("Blur", "this.style.border=''1px dashed #bfbfbf'';"); \r\n    $insiteEditingDIV->setStyleDefinition("border", "1px dashed #bfbfbf"); \r\n    $insiteEditingDIV->setStyleDefinition("direction", langGetTextDirection($lang)); \r\n    \r\n    $insiteEditingDIV->updateAttributes(array("contentEditable" => "true")); \r\n    \r\n    $insiteEditingDIV->setContent("_REPLACEMENT_"); \r\n    \r\n\r\n    /* Edit anchor and image */ \r\n    $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTML&typenr=$val"); \r\n    $editAnchor = new cHTMLLink; \r\n    $editAnchor->setLink("javascript:setcontent(''$idartlang'',''" . $editLink . "'');"); \r\n    \r\n    $editButton = new cHTMLImage; \r\n    $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithtml.gif"); \r\n    $editButton->setBorder(0); \r\n    $editButton->setStyleDefinition("margin-right", "2px"); \r\n        \r\n    $editAnchor->setContent($editButton); \r\n    \r\n    \r\n    /* Save anchor and image */ \r\n    $saveAnchor = new cHTMLLink; \r\n    $saveAnchor->setLink("javascript:setcontent(''$idartlang'',''0'')"); \r\n    \r\n    $saveButton = new cHTMLImage; \r\n    $saveButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_speichern.gif"); \r\n    $saveButton->setBorder(0); \r\n    \r\n    $saveAnchor->setContent($saveButton); \r\n\r\n    /* Process for output with echo */ \r\n    $finalEditButton = $editAnchor->render(); \r\n    $finalEditButton = AddSlashes(AddSlashes($finalEditButton)); \r\n    $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton); \r\n    \r\n    $finalEditingDiv = $insiteEditingDIV->render(); \r\n    $finalEditingDiv = AddSlashes(AddSlashes($finalEditingDiv)); \r\n    $finalEditingDiv = str_replace("\\\\\\''","''",$finalEditingDiv); \r\n    \r\n    $finalEditingDiv = str_replace("_REPLACEMENT_", $tmp, $finalEditingDiv); \r\n    \r\n    $finalSaveButton = $saveAnchor->render(); \r\n    $finalSaveButton = AddSlashes(AddSlashes($finalSaveButton)); \r\n    $finalSaveButton = str_replace("\\\\\\''","''",$finalSaveButton); \r\n    \r\n    $tmp =  $finalEditingDiv . $finalEditButton . $finalSaveButton;\r\n}\r\nelse {\r\n   $tmp_link = $sess->url("front_content.php");\r\n   $tmp = str_replace("front_content.php?", "front_content.php", $tmp);\r\n   $tmp = str_replace("front_content.php?", "front_content.php", $tmp);\r\n   $tmp = str_replace("front_content.php", $tmp_link."&", $tmp);\r\n}', 'Text / HTML', 0, '', '2002-05-13 19:04:13', '2008-04-09 10:45:00'),

(3, 'CMS_TEXT', '/**\r\n * CMS_TEXT\r\n */\r\n$tmp = $a_content["CMS_TEXT"][$val];\r\n$tmp = urldecode($tmp);\r\n$tmp = htmlspecialchars($tmp);\r\n$tmp = nl2br($tmp);\r\n$tmp = str_replace("''", "\\''", $tmp);\r\n$tmp = str_replace("\\$",''\\\\\\$'',$tmp); \r\n\r\n$tmp = str_replace("<br />","<br>", $tmp);\r\nif ($edit) {\r\n   $editbutton = "<A HREF=\\"".$sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_TEXT&typenr=$val&lang=$lang")."\\"><IMG SRC=\\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edittext.gif\\" border=0></A>";\r\n   $editbutton = AddSlashes(AddSlashes($editbutton));\r\n   $tmp = $tmp.$editbutton;\r\n}\r\nelse {\r\n   $tmp_link = $sess->url("front_content.php");\r\n   $tmp = str_replace("front_content.php?", "front_content.php", $tmp);\r\n   $tmp = str_replace("front_content.php", $tmp_link."&", $tmp);\r\n}', 'Text / Standard', 0, '', '2002-05-13 19:04:13', '2008-04-09 10:45:00'),

(9, 'CMS_HEAD', '/**\r\n * CMS_HEAD\r\n */\r\n$tmp = $a_content["CMS_HEAD"][$val];\r\n$tmp = urldecode($tmp);\r\n$tmp = htmlspecialchars($tmp);\r\n$tmp = str_replace("''", "\\''", $tmp);\r\n$tmp = str_replace("\\$",''\\\\\\$'',$tmp); \r\n\r\n\r\nif ($edit) {\r\n   $editbutton = "<A HREF=\\"".$sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HEAD&typenr=$val&lang=$lang")."\\"><IMG SRC=\\"".$cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithead.gif\\" border=0></A>";\r\n   $editbutton = AddSlashes(AddSlashes($editbutton));\r\n   $tmp = $tmp.$editbutton;\r\n}\r\nelse {\r\n   $tmp_link = $sess->url("front_content.php");\r\n   $tmp = str_replace("front_content.php?", "front_content.php", $tmp);\r\n   $tmp = str_replace("front_content.php", $tmp_link."&", $tmp);\r\n}', 'Headline / Standard', 0, '', '2002-05-13 19:02:34', '2008-04-09 10:45:00'),

(17, 'CMS_HTMLTEXT', '/** \r\n * CMS_HTMLTEXT\r\n */\r\ncInclude("classes", "class.htmlelements.php");\r\ncInclude("includes", "functions.lang.php");\r\n\r\n$content = $a_content[''CMS_HTMLTEXT''][$val];\r\n$content = urldecode($content);\r\n$content = htmldecode($content);\r\n$content = strip_tags($content);\r\n\r\n$content = str_replace("&nbsp;", " ", $content);\r\n\r\n$content = htmlspecialchars($content);\r\nif ($content == "")\r\n{\r\n  $content = "&nbsp;";\r\n}\r\n\r\n$content = nl2br($content);\r\n\r\nif ($edit) {\r\n\r\n   $div = new cHTMLDiv;\r\n   $div->setID(implode("_", array("HTMLTEXT", $db->f("idtype"), $val)));\r\n   $div->setEvent("focus", "this.style.border=''1px solid #bb5577''");\r\n   $div->setEvent("blur", "this.style.border=''1px dashed #bfbfbf''");\r\n   $div->setStyleDefinition("border", "1px dashed #bfbfbf");\r\n   $div->updateAttributes(array("contentEditable" => "true"));\r\n   $div->setStyleDefinition("direction", langGetTextDirection($lang));\r\n   \r\n   $editlink = new cHTMLLink;\r\n   $editlink->setLink($sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTMLTEXT&typenr=$val&lang=$lang"));\r\n   \r\n   $editimg = new cHTMLImage;\r\n   $editimg->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edittext.gif");\r\n   \r\n   $savelink = new cHTMLLink;\r\n   $savelink->setLink("javascript:setcontent(''$idartlang'',''0'')");\r\n   \r\n   $saveimg = new cHTMLImage;\r\n   $saveimg->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_speichern.gif");\r\n   \r\n   $savelink->setContent($saveimg);\r\n   \r\n   $editlink->setContent($editimg);\r\n   \r\n   $div->setContent($content);\r\n\r\n  $tmp = implode("", array($div->render(), $editlink->render(), " ", $savelink->render()));\r\n  $tmp = str_replace(''"'', ''\\"'', $tmp);\r\n} else {\r\n  $tmp = $content;\r\n  $tmp = str_replace(''"'', ''\\"'', $tmp);\r\n   $tmp_link = $sess->url("front_content.php");\r\n   $tmp = str_replace("front_content.php?", "front_content.php", $tmp);\r\n   $tmp = str_replace("front_content.php", $tmp_link."&", $tmp)\r\n}\r\n\r\n\r\n$tmp = addslashes($tmp);\r\n$tmp = str_replace(''$'', ''\\\\\\$'', $tmp);\r\n', 'Text / Standard', 0, '', '2002-05-13 19:04:13', '2008-04-09 10:45:00');

Über eine Resonanz für ModRewrite würde ich mich freuen.