wie kann ich bei meiner seiten, bei jedem seitenaufruf, bei welchem der user nicht eigeloggt ist, ihm eine neue sid zuweisen?
							
						
					sessioid neu setzen
				
					Collapse
				
			
		
	X
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Re: sessioid neu setzen
 
 Wozu?Original geschrieben von deathcakeman
 wie kann ich bei meiner seiten, bei jedem seitenaufruf, bei welchem der user nicht eigeloggt ist, ihm eine neue sid zuweisen?
 
 session_regenerate_id
 Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!
 bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
 Wie man Fragen richtig stellt
 
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Ich habe jetzt noch folgendes problem.
 Wenn jemand in der url die sid-var. verändert, dann wird er zum login umgeleitet. (weil ohne eine "extra function" passiert da ja nix)
 Ich habs mit dem verscuht, aber es klappt net^^
 hat jemand noch ne idee?
 
 PHP Code:function checksessionid($location, $sessionname, $sessionid) {
 if (isset($_GET['sid']))
 {
 $sid=$_GET['sid'];
 }
 else
 {
 $sid="";
 }
 $sessionexist=mysql_query("SELECT * FROM sessions WHERE session_id = '$sid'");
 $row=mysql_num_rows($sessionexist);
 if ($row <= 0)
 {
 $sessionok=false;
 }
 else {
 $sessionok=true;
 }
 if($sessionok==false) {
 header("Location: [url]http://[/url]".$location."/logout.php
 ?error=2&".$sessionname."=".$sessionid."");
 }
 }
 Last edited by deathcakeman; 17-12-2006, 20:35.*blubb*
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Was interessiert dich Hijacking bei einer leeren Session?Original geschrieben von deathcakeman
 ich bracuhe es, um hijacking zu vermindern
 Beim Login einfach eine neue SID generieren, fertig
 Davor kann der User doch eine SID haben wie er will
 
 Man kann keine SID für einen Client "registrieren". Du kannst die IP Überprüfen und wenn diese anders ist als in der Session, die Session neu generieren, aufgrund dynamischer ip-Adressen aber nur bedingt zu gebrauchen.gibts ne möglichkeit, wenn der client in der Url na andere sid eigibt, als für ihn registriert ist, das er zum login umgeleitet wird, etc.?
 Generell ist eine Session nun mal leider nicht sonderlich sicher. Es lässt sich durch "nur Cookies" für die SID eingrenzen, genauso wie eben beschriebener Sicherheitsmechanismus über die IP, aber ganz sicher wirst du es nie kriegen...
 
 Wie gesagt, um dem Hijacking entgegen zu wirken, reicht es BEIM Login die SID EINMAL neu zu generieren
 
 
 und brich die lange Code-Zeile um. Ich hab Auflösung > 1024 und trotzdem einen horizontalen Scrollbalken (siehe Regeln -> Verboten)
 Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!
 bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
 Wie man Fragen richtig stellt
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 aber nicht alle clients akzeptieren cookies, z.b. innerhalb von firmen-netzwerken oder (un)bewusst abgeschaltet.Original geschrieben von ghostgambler
 Wie gesagt, um dem Hijacking entgegen zu wirken, reicht es BEIM Login die SID EINMAL neu zu generieren
 um diese clients nicht auszuschließen, aber trotzdem für "sicherheit" zu sorgen, könnte ich es mir vorstellen, bei jedem request einer "scharfen" session (falls die session per get kommt) ein session_regenerate_id(true) auszuführen, beim login sowieso.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 es ging aber ja speziell um nicht-eingeloggte User, wo das ganze irgendwie keinen Sinn ergibtOriginal geschrieben von 3DMax
 aber nicht alle clients akzeptieren cookies, z.b. innerhalb von firmen-netzwerken oder (un)bewusst abgeschaltet.
 um diese clients nicht auszuschließen, aber trotzdem für "sicherheit" zu sorgen, könnte ich es mir vorstellen, bei jedem request einer "scharfen" session (falls die session per get kommt) ein session_regenerate_id(true) auszuführen, beim login sowieso.
 
 Trans-id sollte man pro-sicherheit sowieso abschalten ^^,
 Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!
 bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
 Wie man Fragen richtig stellt
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 danke für eure hilfe,
 aber ich glaube ich habe die Frage falsch formuliert^^
 
 was ich meine ist:
 So leute nehmen wir mal, in dr URl steht:
 xxx.de/xx.php?sid=xxx
 
 wenn jetzt jemand der eingeloggt ist
 xxx.de/xx.php?sid=xxxy
 macht dann soll de code ausgeführt. leider klappt das nich, da die seite, egal ob das zutrifft oder nicht, solange geladen wird, bis das laden abbricht.
 Da kommt dann so ne alert meldung
 
 PHP Code:function checksessionid($location, $sessionname, $sessionid) {
 if (isset($_GET['sid']))
 {
 $sid=$_GET['sid'];
 }
 else
 {
 $sid="";
 }
 $sessionreg=true;
 $checksesreg=mysql_query("SELECT * FROM sessions WHERE session_id = '$sessionid'");
 while ($row = mysql_fetch_object ($checksesreg)) {
 $sesreg=$row->username;
 if ($sesreg=="") {
 $sessionreg=false;
 }
 }
 if ($sessionreg==true) {
 if ($sessionid!=$sid) {
 header("Location: [url]http://[/url]".$location."/logout.php
 ?error=2&".$sessionname."=".$sessionid."");
 }
 }
 }
 *blubb*
 Comment
 
          

Comment