PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   sessioid neu setzen (https://www.php-resource.de/forum/php-developer-forum/79371-sessioid-neu-setzen.html)

deathcakeman 17-12-2006 17:15

sessioid neu setzen
 
wie kann ich bei meiner seiten, bei jedem seitenaufruf, bei welchem der user nicht eigeloggt ist, ihm eine neue sid zuweisen?

ghostgambler 17-12-2006 17:23

Re: sessioid neu setzen
 
Zitat:

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?
Wozu?

session_regenerate_id

deathcakeman 17-12-2006 17:30

danke.

ich bracuhe es, um hijacking zu vermindern

deathcakeman 17-12-2006 18:17

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."");
}



Griecherus 17-12-2006 18:21

Mit "es klappt nicht" kann doch niemand etwas anfangen. Fehlermeldungen? Irgendwelche Hinweise? Debugausgaben gemacht?

deathcakeman 17-12-2006 18:34

der code wird inner endloseschleife ausgeführt.

naja, ich komm irgendwie net weiter.

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.?

ghostgambler 17-12-2006 20:45

Zitat:

Original geschrieben von deathcakeman
ich bracuhe es, um hijacking zu vermindern
Was interessiert dich Hijacking bei einer leeren Session?
Beim Login einfach eine neue SID generieren, fertig
Davor kann der User doch eine SID haben wie er will

Zitat:

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.?
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.
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)

3DMax 17-12-2006 23:57

Zitat:

Original geschrieben von ghostgambler
Wie gesagt, um dem Hijacking entgegen zu wirken, reicht es BEIM Login die SID EINMAL neu zu generieren
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.

ghostgambler 18-12-2006 00:58

Zitat:

Original 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.

es ging aber ja speziell um nicht-eingeloggte User, wo das ganze irgendwie keinen Sinn ergibt

Trans-id sollte man pro-sicherheit sowieso abschalten ^^,

deathcakeman 18-12-2006 16:33

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."");
}
}




Alle Zeitangaben in WEZ +2. Es ist jetzt 12:33 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG