Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Coding Releases > Coding Snippets
You last visited: Today at 14:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[PHP Sicherheit] Anti Session Hijacking

Discussion on [PHP Sicherheit] Anti Session Hijacking within the Coding Snippets forum part of the Coding Releases category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2013
Posts: 6
Received Thanks: 2
[PHP Sicherheit] Anti Session Hijacking

Servus.
Ich dachte mir mal, dass ich meine kleine PHP Sicherheitsfunktion veröffentliche. Vielleicht hilft diese dem ein oder anderen ja weiter
Eventuell wächst sie dadurch ja auch

Die Kommentare im Code sagen denke ich mal alles aus. Falls es trotzdem noch Unklarheiten gibt, fragt ruhig.


PHP Code:
<?php
/*---------------------------------------------------------------------------------------------
                   \    Anti - Session Hijacking System       /
                    \_____________________________________/

Überprüfe die aktuelle User IP und gleiche sie mit der gespeicherten in der DB ab.
Sind die IP's nicht gleich, dann wird der User ausgeloggt und sämtliche
Sessions, welche dem Account zugeordnet waren, werden zerstört.


WICHTIG: Dieses Script ist auf JEDER Seite, welche ein Nutzerkonto nutzt einzubinden.
         Dazu zählen schon User Panels.

         
Mögliche Komplikationen:    Falls ein Session Cookie für einen dauerhaften Login genutzt wird
                            und der user nach der Zwangstrennung eine neue IP erhalten hat,
                            tritt dieses System in Kraft und macht die Session sowie Cookie zunichte.

                            
Mögliche Lösung:            Bei der Auswertung der IP Adresse nicht die aktuelle IP sondern
                            die IP-Range auswerten.

                            
---------------------------------------------------------------------------------------------*/

#error_reporting(E_ALL);
#ini_set("display_errors", 1);

function Validate($mode TRUE) {
if (
$mode) {
require_once(
'./system/config/dbconfig.php');
mysql_connect("" $mysqlhost "","" $mysqluser "","" $mysqlpwd "","" $mysqlport "");
mysql_select_db($server_db) or die(mysql_error());

session_start(); 
if(isset(
$_COOKIE['PHPSESSID'])) 

        
// User IP auslesen
        
if (!isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            
$client_ip_val $_SERVER['REMOTE_ADDR'];
        } else {
            
$client_ip_val $_SERVER['HTTP_X_FORWARDED_FOR'];
        }

        
// Gespeicherte User IP auslesen
        
$session_id_val session_id();
        
$user_ip mysql_query("SELECT last_login_ip FROM website_login WHERE sid=('" $session_id_val "')");
        
$user_ip_con mysql_fetch_object($user_ip);
        
$user_ip_val $user_ip_con->last_login_ip;
        
    
// Falls User IP und gespeicherte IP nicht übereinstimmen    
    
if($client_ip_val != $user_ip_val) {
            if(
$_GET['form'] != UserLogin) {
        
    
$session_id_validated session_id();
    
mysql_query("INSERT INTO protection_system_logs (message, account_id, user_ip, saved_ip, date) VALUES ('User wurde aufgrund nicht identischer IP Adressen durch das Anti-Session Hijacking System ausgeloggt.', (SELECT id FROM website_login WHERE sid= ('" $session_id_validated "')), ('" $client_ip_val "'), ('" $user_ip_val "'), NOW())") or die(mysql_error());
    
mysql_query("UPDATE website_login SET last_sid=sid,sid=0,logged_in=0 WHERE sid=('" $session_id_validated "')");
    
mysql_query("UPDATE user_sessions SET last_sid=sid,sid=0,active=0 WHERE sid=('" $session_id_validated "')");
    
    
// Session Keks zerkrümeln
    
setcookie ("PHPSESSID"""time() - 3600);
                                }
                                
// Falls User IP und gespeicherte IP übereinstimmen: Funktion verlassen
} else { exit(); }
}            
// Falls System deaktiviert: Funktion verlassen
} else { exit(); }
}
Validate();
?>
Reddragon55 is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
Hijacking anderer Accounts - Steam
10/08/2013 - Off Topic - 15 Replies
Nabend, Ich werde von Steam des Hijackings anderer Accounts beschuldigt. Ich wusste bis eben nicht mal was das ist, geschweige denn wie es funktioniert. Ich habe meinen Account selbst erstellt nie jemand anderem gegeben, woran kann es liegen das Steam darauf kommt? Das ich meine Keys von anderen Seiten habe? Was kann ich dagegen tun, da meine Funktionen eingeschränkt sind, ich kann weder Spiele kaufen noch aktivieren. mfg
was ist account hijacking
09/02/2011 - Runescape - 3 Replies
angeblich würd ich kontodiebstahl begangen haben aber weiß nicht wie jagex darauf kommt... nun ist der account mit meinem ganzen gold gebannt was ich ziemlich lustig finde da ich vorher erst 3 stunden versucht habe meine 3 accounts unlocked zu bekommen da sie gesperrt waren jetzt hab ich 2 von denen wieder und 1 davon ist perm banned :D was kann ich tun ???
Email account hijacking and elitepvpers
08/16/2010 - Main - 2 Replies
While what I'm about to post is not 100% proven, I'm convinced that there is some sort of trojan/hack going on here at elitepvpers and the downloads for WOW server for easy-emu. Why I say this is after downloading, installing and running the Wow easy-emu NOVO server set up for about 4 days now, out of the blue my email account associated with this website(elitepvpers) is showing failed emails being sent from my Yahoo account to a deactivated Emaila account in Germany (.de). Since I am not...



All times are GMT +1. The time now is 14:57.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.