SessionID als Parameter - nicht als Cookie

Gesperrt
asycs
Beiträge: 64
Registriert: Do 2. Feb 2006, 12:13
Kontaktdaten:

SessionID als Parameter - nicht als Cookie

Beitrag 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.
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Beitrag 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
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag 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.
Gesperrt