Ich muß Abraxax hier zustimmen. Das Forum ist zum Lernen da!
Wer kann SESSION ID aus Links entfernen
Collapse
X
-
OffTopic: Original geschrieben von ThomasJ
Ein frohes neuesINFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Comment
-
Ok, habe s mal versucht. Der Code muss ja an die Stelle bevor eine SESSION ID vergeben wird. Ich hoffe das ist so richtig?
PHP Code:<?
$sessionID = "";
$sessionVars = array();
$sessionVarsPlain = "";
$sessionTimeout = 1/*days*/ * 60/*hours*/* 60/*minutes*/* 60/*second*/;
if(!function_exists(getSessionVars))
{
function getSessionVars ()
{
global $sessionID, $sessionVars, $sessionVarsPlain;
$query = "SELECT * FROM sessions WHERE id='$sessionID'";
$result = mysql_query ($query);
if ($result)
{
if (mysql_num_rows($result)>0)
{
$row = mysql_fetch_array($result);
$serialized = $row[vars];
$sessionVarsPlain = $serialized;
$sessionVars = unserialize(stripslashes($serialized));
if (!is_array($sessionVars))
$sessionVars = array();
return 1;
}
else
{
$sessionID = "";
$sessionVars = array();
$sessionVarsPlain = "";
return 0;
}
}
else
{
$sessionID = "";
$sessionVars = array();
$sessionVarsPlain = "";
return 0;
}
}
}
if(!function_exists(putSessionVars)) {
function putSessionVars ()
{
global $sessionID, $sessionVars, $sessionVarsPlain;
if (strlen($sessionID)==0)
return 0;
if ( !is_array($sessionVars) )
$sessionVars = array();
$sessionVarsPlain = serialize ($sessionVars);
$query = "UPDATE sessions SET vars='".addslashes($sessionVarsPlain)."' WHERE id='".addslashes($sessionID)."'";
$result = mysql_query ($query);
if ($result)
{
return 1;
}
else
{
return 0;
}
}
function createSession ()
{
global $sessionID, $sessionVars, $sessionVarsPlain;
$sessionID = md5(uniqid(rand()));
$sessionVarsPlain = "";
$sessionVars = array();
$query = "INSERT INTO sessions (id,vars,created,last_visit) VALUES ('".addslashes($sessionID)."','',NULL,NULL)";
$result = mysql_query($query);
if ($result)
{
return 1;
}
else
{
return 0;
}
}
}
if(!function_exists(removeSession)) {
function removeSession()
{
global $sessionID, $sessionVars, $sessionVarsPlain;
if ( strlen($sessionID)>0 )
{
$query = "DELETE FROM sessions WHERE id='".AddSlashes($sessionID)."'";
$result = mysql_query($query);
if ($result)
{
$sessionVars = array();
$sessionVarsPlain = "";
$sessionID = "";
return 1;
}
else
{
return 0;
}
}
else
{
return 0;
}
}
function putSessionTime()
{
global $sessionID;
mysql_query ( "UPDATE sessions SET last_visit=NULL WHERE id='".$sessionID."'" );
}
}
if ( !empty($SESSION_ID) )
$sessionID = "".$SESSION_ID;
else
$sessionID = "".$SSESSION_ID;
getSessionVars();
if ( empty($sessionID) )
{
if(!eregi("Googlebot",$_SERVER['HTTP_USER_AGENT']) && !eregi("Googlebot",$sessionID))
{
createSession();
@setcookie ( "SSESSION_ID",
$sessionID,
time()+$sessionTimeout );
}
}
putSessionTime();
$sessionIDU = urlencode($sessionID);
?>
Comment
-
Original geschrieben von ThomasJ
Ok, habe s mal versucht. Der Code muss ja an die Stelle bevor eine SESSION ID vergeben wird. Ich hoffe das ist so richtig?
funktioniert es, ist es richtig.
funktioniert es nicht, war es falsch.
auch brauchst du nicht immer den code komplett posten. den liest eh keiner. ich zumindest nicht.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Comment
-
Stimmt den Code lasse ich in Zukunft raus.
Naja ob es funzt kann ich nicht sagen, zu mindest bekomme ich keine Fehlermeldungen. (Was schon mal ein gutes Zeichen ist)
Gibt es eine Möglichkeit das zu testen ob beim googel nun noch SESSIONS vergeben werden, oder muss ich nun einfach nur abwarten?
Comment
-
testen kannst du es indirekt. tue doch mal so, dass der google ein IE ist. dann kannst du das sogar selber testen.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Comment
-
gib dir $_SERVER['HTTP_USER_AGENT'] aus ... dann weisst du es.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Comment
Comment