[Release]Login Script mit Admin oder User weiterleitung

10/21/2011 18:59 Jopsi332#1
So
wie das sicherlich schon viele von damned rev2 kennen gibt es dort einen login wo man ggf zu User oder Admin cp kommt
hab das ganze mal für mssql gemacht und m_chLoginauthority
hier ist der code
PHP Code:
<?php

      
<?php

                    
if(isset($_POST["submit3"])) 
                    {

                        
exec("start C:\PfadzurWorldserver.exe");  
    
    }
    if(isset(
$_POST["submit4"])) 
                    {

                        
exec("start C:\Pfadzuaccountserver.exe");  
    
    }
    if(isset(
$_POST["submit5"])) 
                    {

                        
exec("start C:\PFad zu deinem Databaseserver.exe");  
    
    }
    if(isset(
$_POST["submit6"])) 
                    {

                        
exec("start C:\PFad zu deinem Core server.exe");  
    
    }
    if(isset(
$_POST["submit7"])) 
                    {

                        
exec("start C:\PFad zu deinem Certifierserver.exe");  
    
    }
    if(isset(
$_POST["submit8"])) 
                    {

                        
exec("start C:\PFad zu deinem Loginserver.exe");  
    
    }
    if(isset(
$_POST["submit9"])) 
                    {

                        
exec("start C:\PFad zu deinem Cacheserver.exe");  
    
    }

                    if(isset(
$_POST["submit2"])) 
                    {

                        if (
preg_match('/[^a-zA-Z0-9]/',$_POST['username2']))
            {
    die (
' <font color="red">Der Benutzername enthält unerlaubte Zeichen</font> ');
    }
    else if (empty(
$_POST['username2']))
    {    
    die (
' <font color="red">Bitte gebe einen Benutzer namen ein</font> ');
    }
                else if (
preg_match('/[^a-zA-Z0-9]/',$_POST['password2']))
            {
    die (
' <font color="red">Dein Password enthält unerlaubte Zeichen</font> ');
    }
    else if (empty(
$_POST['password2']))
    {    
    die (
' <font color="red">Bitte gebe ein Password ein.</font> ');
    }
    
$username2 $_POST['username2'];
     
$passwort2 md5('kikugalanet' $_POST['password2']);
    
$connection mssql_connect("Nils-PC\SQLEXPRESS""""");
if(!
$connection)
{
die(
"Connection failed!<br>");
}
$select mssql_select_db("ACCOUNT_DBF",$connection);

if(!
$select)
{
die(
"Can't select Database!<br>");
}

    @
mssql_query("UPDATE ACCOUNT_TBL SET password = '$passwort2' WHERE account = '$username2'");
    echo ( 
'<font color="green">Passwort wurde geändert</font>, relogge dich für weitere funktionen!' );
    echo 
'<br>';
    
    }



    
    
        if(isset(
$_POST["user_login"])) {
            if (
preg_match('/[^a-zA-Z0-9]/',$_POST['username']))
            {
    die (
' <font color="red">Dein Benutzername enthält unerlaubte Zeichen</font> ');
    }
    else if (empty(
$_POST['username']))
    {    
    die (
' <font color="red">Bitte gebe einen Benutzer namen ein</font> ');
    }
                else if (
preg_match('/[^a-zA-Z0-9]/',$_POST['password']))
            {
    die (
' <font color="red">Dein Password enthält unerlaubte Zeichen</font> ');
    }
    else if (empty(
$_POST['password']))
    {    
    die (
' <font color="red">Bitte gebe ein Password ein.</font> ');
    }
            
$username $_POST['username'];
            
$passwort md5('kikugalanet' $_POST['password']);
            
$user preg_replace ("[^A-Za-z0-9]"""$_POST['username']);
            
$pass preg_replace ("[^A-Za-z0-9]"""$passwort);                           
            if(
$user != $_POST['username'])
               {
                   echo 
"Fehler beim Login.";
               }else{

            
$connection mssql_connect("Nils-PC\SQLEXPRESS""""");
            
$query = @mssql_query("SELECT account, password FROM [ACCOUNT_DBF].[dbo].[ACCOUNT_TBL] WHERE account = '$user'");
            
$row mssql_fetch_object($query);
            if(
$row->password == $pass) {

                
$panel = @mssql_query("SELECT m_chLoginAuthority FROM  [ACCOUNT_DBF].[dbo].[ACCOUNT_TBL_DETAIL] WHERE account = '$user'");
                
$endpanel mssql_fetch_object($panel);
                
$authority $endpanel->m_chLoginAuthority;
                
$_SESSION["username"] = $user;
                
$_SESSION["password"] = $password;
                    if(
$authority )
                    {
                                  echo 
"                        Your Currently Logged in with "$_SESSION["username"];
                                                                      echo
'<br>Account Server: ';

    
$online = @fsockopen("127.0.0.1"15400$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<font color="green">Online</font>';
    }
    else {
    echo 
'<font color="red">Offline</font>';
            echo 
'<form action="#" method="post">';
    echo 
'<input type="submit" name="submit4" value="Start" />';

    } 
                                        echo
'<br>Database Server: ';

    
$online = @fsockopen("127.0.0.1"15400$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<font color="green">Online</font>';
    }
    else {
    echo 
'<font color="red">Offline</font>';
    echo 
'<form action="#" method="post">';
    echo 
'<input type="submit" name="submit5" value="Start" />';
    } 
                                        echo
'<br>Core Server: ';

    
$online = @fsockopen("127.0.0.1"15400$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<font color="green">Online</font>';
    }
    else {
    echo 
'<font color="red">Offline</font>';
    echo 
'<form action="#" method="post">';
    echo 
'<input type="submit" name="submit6" value="Start" />';
    } 
                                        echo
'<br>Certifier: ';

    
$online = @fsockopen("127.0.0.1"15400$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<font color="green">Online</font>';
    }
    else {
    echo 
'<font color="red">Offline</font>';
    echo 
'<form action="#" method="post">';
    echo 
'<input type="submit" name="submit7" value="Start" />';
    } 
 
                                        echo
'<br>Login Server: ';

    
$online = @fsockopen("127.0.0.1"15400$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<font color="green">Online</font>';
    }
    else {
    echo 
'<font color="red">Offline</font>';
    echo 
'<form action="#" method="post">';
    echo 
'<input type="submit" name="submit8" value="Start" />';
    } 
                                        echo
'<br>Cache Server: ';

    
$online = @fsockopen("127.0.0.1"15400$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<font color="green">Online</font>';
    }
    else {
    echo 
'<font color="red">Offline</font>';
    echo 
'<form action="#" method="post">';
    echo 
'<input type="submit" name="submit9" value="Start" />';
    } 
                                    echo
'<br>World Server: ';

    
$online = @fsockopen("127.0.0.1"15400$errno$errstr1);
    if(
$online >= 1) { 
        echo 
'<font color="green">Online</font>';
    }
    else {
    echo 
'<font color="red">Offline</font>';
    echo 
'<form action="#" method="post">';
    echo 
'<input type="submit" name="submit3" value="Start" />';
    } 

echo
'<br>';
                                            
$link = @mssql_connect("Nils-PC\SQLEXPRESS""""") or die ("Server is down!"); 
        
$db = @mssql_select_db('ACCOUNT_DBF') or die ("Keine Accs Vorhanden"); 
        
$query mssql_query('SELECT * FROM [ACCOUNT_TBL]'); 
        echo 
'Accounts: ' mssql_num_rows($query); 
echo 
"<br />"

         
$link = @mssql_connect("Nils-PC\SQLEXPRESS""""") or die ("Server is down!"); 
        
$db = @mssql_select_db('CHARACTER_01_DBF') or die ("Keine Chars Vorhanden");       
        
$query mssql_query('SELECT * FROM [CHARACTER_TBL]'); 
        echo 
'Characters: ' mssql_num_rows($query);  
echo 
"<br />"
         
$link = @mssql_connect("Nils-PC\SQLEXPRESS""""") or die ("Server is down!"); 
        
$db = @mssql_select_db('ACCOUNT_DBF') or die ("Keine Chars Vorhanden");       
    
$query mssql_query("SELECT * FROM [ACCOUNT_TBL_DETAIL] WHERE m_chLoginAuthority = 'Z' "); 
      
$usersOnline1 =  mssql_num_rows($query);
        echo 
'Admin:: ' $usersOnline1;
echo 
"<br />"
         
$link = @mssql_connect("Nils-PC\SQLEXPRESS""""") or die ("Server is down!"); 
        
$db = @mssql_select_db('Account_DBF') or die ("Keine Chars Vorhanden");       
     
$query mssql_query("SELECT * FROM [ACCOUNT_TBL_DETAIL] WHERE m_chLoginAuthority = 'P' "); 
     
$usersOnline2 =  mssql_num_rows($query);
       echo 
'GameMaster: ' $usersOnline2;
echo 
"<br />"

         
$link = @mssql_connect("Nils-PC\SQLEXPRESS""""") or die ("Server is down!"); 
        
$db = @mssql_select_db('ACCOUNT_DBF') or die ("Keine Accs Vorhanden"); 
                
$query mssql_query("SELECT * FROM [ACCOUNT_TBL_DETAIL] WHERE isuse = 'J' "); 
                
$usersOnline =  mssql_num_rows($query); 
        echo 
'Users Online: ' $usersOnline
echo 
"<br />"
         
$link = @mssql_connect("Nils-PC\SQLEXPRESS""""") or die ("Server is down!"); 
        
$db = @mssql_select_db('LOGGING_01_DBF') or die ("Kein Peak Vorhanden"); 
        
$query mssql_query("SELECT TOP 1 number FROM [LOG_USER_CNT_TBL] ORDER BY [number] DESC"); 
        
$peak =  mssql_fetch_row($query); 
        echo 
'Server Peak: ' $peak
    echo 
' <br>';
    
$contadorm=1;
    
$contadorh=1;
    
$normal = array();
    
$master = array();
    
$hero = array();
    
$link = @mssql_connect("Nils-PC\SQLEXPRESS""""") or die ("Server is down!"); 
        
$db = @mssql_select_db('Donate_DBF') or die ("Donate Datenbank nicht vorhanden!"); 

            
$query mssql_query("SELECT * FROM Donate ORDER by Account"); 

                                    
//nun dein Admin Inhalt
                                    
echo '<br><br />';
                                    echo 
"Change Password from any Account";
                            echo 
'<br><br />';
                                  echo 
'<form action="#" method="post">';
                                    echo 
'Username: <input type="text" name="username2" /><br />';
                                    echo 
'Password: <input type="text" name="password2" /><br />';
                                    echo 
'<input type="submit" name="submit2" value="Change!" />';
                                echo
'<br>';
                                
           function 
quetrabajo($job){
if (
$job == '0'){
echo 
"Vagrant";
}
if (
$job == '1'){
echo 
"Mercenary";
}
if (
$job == '2'){
echo 
"Acrobat";
}
if (
$job == '3'){
echo 
"Assist";
}
if (
$job == '4'){
echo 
"Magician";
}
if (
$job == '5'){
echo 
"Puppeter";
}
if (
$job == '6'){
echo 
"Knight";
}
if (
$job == '7'){
echo 
"Blade";
}
if (
$job == '8'){
echo 
"Jester";
}
if (
$job == '9'){
echo 
"Ranger";
}
if (
$job == '10'){
echo 
"Ringmaster";
}
if (
$job == '11'){
echo 
"Billposter";
}
if (
$job == '12'){
echo 
"Psykeeper";
}
if (
$job == '13'){
echo 
"Elementor";
}
if (
$job == '14'){
echo 
"Gatekeeper";
}
if (
$job == '15'){
echo 
"Doppler";
}
if (
$job == '16'){
echo 
"M-Knight";
}
if (
$job == '17'){
echo 
"M-Blade";
}
if (
$job == '18'){
echo 
"M-Jester";
}
if (
$job == '19'){
echo 
"M-Ranger";
}
if (
$job == '20'){
echo 
"M-Ringmaster";
}
if (
$job == '21'){
echo 
"M-Billposter";
}
if (
$job == '22'){
echo 
"M-Psykeeper";
}
if (
$job == '23'){
echo 
"M-Elementor";
}
if (
$job == '24'){
echo 
"H-Knight";
}
if (
$job == '25'){
echo 
"H-Blade";
}
if (
$job == '26'){
echo 
"H-Jester";
}
if (
$job == '27'){
echo 
"H-Ranger";
}
if (
$job == '28'){
echo 
"H-Ringmaster";
}
if (
$job == '29'){
echo 
"H-Billposter";
}
if (
$job == '30'){
echo 
"H-Psykeeper";
}
if (
$job == '31'){
echo 
"H-Elementor";
}
if (
$job == '32'){
echo 
"L-Lordtempler";
}
if (
$job == '33'){
echo 
"L-Slayer";
}
if (
$job == '34'){
echo 
"L-Windcurler";
}
if (
$job == '35'){
echo 
"L-Crackshooter";
}
if (
$job == '36'){
echo 
"L-Florist";
}
if (
$job == '37'){
echo 
"L-Forcemaster";
}
if (
$job == '38'){
echo 
"L-Mentalist";
}
if (
$job == '39'){
echo 
"L-ElementorLord";
}
}

    
$contadorn=1;
    
$contadorm=1;
    
$contadorh=1;
    
$normal = array();
    
$master = array();
    
$hero = array();
    require(
'./configs/rank_conf.php');
    if(!
$link){
        echo 
'configuracion incorrecta';
    }else{
        if(!
db){
            echo 
' la base de datos no existe';
        }else{
            
$sql "SELECT * FROM CHARACTER_TBL ORDER BY m_nLevel DESC"
            
$result mssql_query($sql);
            while(
$consulta mssql_fetch_array($result)) {
                if(
$consulta['m_nJob']<=15){
                    
$normal[$contadorn]=$consulta['m_szName'];
                    
$normal[$contadorn+1]=$consulta['m_nLevel'];
                    
$normal[$contadorn+2]=$consulta['m_nJob'];

                    
$contadorn$contadorn+3;
                }else{
                    if(
$consulta['m_nJob']<=15){
                        
$master[$contadorm]=$consulta['m_szName'];
                        
$master[$contadorm+1]= $consulta['m_nLevel'];
                        
$master[$contadorm+2]=$consulta['m_nJob'];

                        
$contadorm$contadorm+3;
                    }else{
                        
$hero[$contadorh]=$consulta['m_szName'];
                        
$hero[$contadorh+1]=$consulta['m_nLevel'];
                        
$hero[$contadorh+2]=$consulta['m_nJob'];

                        
$contadorh$contadorh+3;
                    }
                }                    
            }
            
            
//empezamos a contar los Masters
            
echo '<div align="center"><table width="100%" border="0" cellspacing="0" cellpadding="0";"><tr>';
            echo 
'<td width="37%" style="padding-left:12px;"><b><u>Username</td>';
            echo 
'<td width="16%" style="padding-left:12px;"><b><u>Level</td>';
            echo 
'<td width="47%" style="padding-left:12px;"><b><u>Job</u></b></td>';
            echo
'</tr>';
            echo
'<tr>';
            for(
$i=1;$i<$contadorm;$i=$i+1){
                echo 
'<td style="padding-left:12px;">';
                            if(
$i>and $i%3==0){
                                 
quetrabajo($master[$i]);
                                 echo 
"</td></tr><tr>";
                            }else{
                                echo 
$master[$i]."</td>";
                            }
                
                }
            
//acabamos
            
            //empezamos a contar los heroes
            
for($i=1;$i<$contadorh;$i=$i+1){
                echo 
'<td style="padding-left:12px;">';
                            if(
$i>and $i%3==0){
                                 
quetrabajo($hero[$i]);
                                 echo 
"</td></tr><tr>";
                            }else{
                                echo 
$hero[$i]."</td>";
                            }
                
                }
            
//acabamos
            
            //empezamos a contar los Masters
            
for($i=1;$i<$contadorn;$i=$i+1){
                echo 
'<td style="padding-left:12px;">';
                            if(
$i>and $i%3==0){
                                 
quetrabajo($normal[$i]);
                                 echo 
"</td></tr><tr>";
                            }else{
                                echo 
$normal[$i]."</td>";
                            }
                
                }
                echo 
'</tr>';
            
//acabamos
        
}    
    }
mssql_close();

   
echo
'<p>';
echo
'</center>';




                    }else{
                echo 
"Your Currently Logged in with "$_SESSION["username"];
                
// nun dein User Inhalt
                
}
            }

            else {

                echo 
"Login Fehlgeschlagen!";
            }
        }
            }
        else {
        
            
?>
                <div style="text-align: center;">
                Login <br /><br />
                <form method="post">
                <input type="text" maxlength="13" name="username" value="Benutzername"><br /><br />
                <input type="password" maxlength="16" name="password" value="Kennwort"><br /><br />
                <input  type="submit" name="user_login" value="Login"><br /><br />
                </form>
            </div>

           <?php
        
}
?>
Configs Datei :
PHP Code:
<?php
    $link 
= @mssql_connect("Nils-PC\SQLEXPRESS""""") ;
    
$db = @mssql_select_db("CHARACTER_01_DBF");
                
$panel = @mssql_query("SELECT m_chLoginAuthority FROM  [ACCOUNT_DBF].[dbo].[ACCOUNT_TBL_DETAIL] WHERE account = '$user'");
                
$endpanel mssql_fetch_object($panel);
                
$_SESSION["authority"] = $endpanel->m_chLoginAuthority;
?>
Screen:

Das Admin oder User CP werde ich eventuell auhc noch machen und dann anhängen, mal gucken wie das hier ankommt. Ist finde ihc auf jedenfall besser als das von damned mit mysql und der usergroup

E: Werde nach und nach warscheinlich das CP machen, aber hab mich gerade schon an was dranne gemacht ^^

E2: So der anfang des Admin CP und etwas sicherer

E3: Admin Panel update! *HOT*

Mit dem Panel kann man bis jetz die Server starten die aus sind via Button und allgemeine Server Infos annsehen und von jedem Account das Password ändern!

Konfiguration:
Für die Restart button configuriert ihr einfach in der Login.php die pfade ganz oben (seht ihr ja direkt) es darf kein leerzeichen drinne sein! zur not renamed die ordner

sucht nach \SQLEXPRESS und ersetzt es durch eure connect daten, es ist mehrmals \SQLEXPRESS drinne also sucht öfters dannach!

dann müsst irh noch eure Ports von den einzelnen Server angleichen (hier sind sie alle auf 15400)

schon fertig :)

DL Link : [Only registered and activated users can see links. Click Here To Register...]
10/21/2011 19:43 Synxx©#2
Sieht doch ganz gut aus *-*
Jopsi Leistung:D
10/21/2011 19:44 Yakuzai.#3
Ganz am Ende wird noch ein <div> Tag geschlossen, dass vorher nicht gesetzt wurde. :) Ansonsten Danke.
10/21/2011 19:52 Jopsi332#4
liegt daran das ich es selber auf meiner homepage eingebaunden habe, war ein versehen, nehme es raus :D
bei mir fängt weiter oben ein div an ^^
10/21/2011 20:41 ocram1095#5
Hallo,

du weiß aber, dass man Sessions manipulieren kann?:

$_SESSION["authority"] = $endpanel->m_chLoginAuthority;

ich glaube mehr muss ich dazu nicht sagen!

mfg ocram
10/21/2011 20:50 Jopsi332#6
Quote:
Originally Posted by ocram1095 View Post
Hallo,

du weiß aber, dass man Sessions manipulieren kann?:

$_SESSION["authority"] = $endpanel->m_chLoginAuthority;

ich glaube mehr muss ich dazu nicht sagen!

mfg ocram
man kann jeden scheiß manipulieren aber so einfach ist das nunmal nicht, werde es aber ändern

E: so hab die session dort rausgenommen, funzt immer noch tadelos, der anfang des Admin CP's ist ausgeklammert mit drinne(funktioniert noch nicht)
10/21/2011 21:08 Synxx©#7
Quote:
Originally Posted by ocram1095 View Post
Hallo,

du weiß aber, dass man Sessions manipulieren kann?:

$_SESSION["authority"] = $endpanel->m_chLoginAuthority;

ich glaube mehr muss ich dazu nicht sagen!

mfg ocram
Wer kann das schon?:D
10/21/2011 21:08 Jopsi332#8
Ist nun eh gefixxed :)
10/21/2011 21:12 Synxx©#9
Und wie kann man es zb. auf der db loggen?
10/21/2011 21:13 Jopsi332#10
was meinstu genau damit? ideen sind immer gut da das cp gerade im aufbau ist ^^
10/21/2011 21:15 Synxx©#11
Das es geloggt wird wer um wie viel uhr sich eingeloggt hat;)
10/21/2011 21:16 Jopsi332#12
werde gucken, ist auf jedenfall machbar, aber denke mal das fillt die dbganz schön
10/21/2011 21:16 xFruchti.#13
Nice :)
Wie wärs mit einem Restarter damit der Co Admin oder so der keine Root rechte den Server über das Acp restarten kann ^^
10/21/2011 21:18 Synxx©#14
Quote:
Originally Posted by Tremby View Post
Nice :)
Wie wärs mit einem Restarter damit der Co Admin oder so der keine Root rechte den Server über das Acp restarten kann ^^
Wenn jmd. dann des irg. gehackt bekommt ist es schon bisschen scheiße aber auch ne gut idee
@Jopsi kann ja auch als textdatei auf den root landen xD
10/21/2011 21:19 Jopsi332#15
Quote:
Nice
Wie wärs mit einem Restarter damit der Co Admin oder so der keine Root rechte den Server über das Acp restarten kann ^^
E: das mit .txt ist noch viel unsicherer um account id's zu scammen ;D