anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Fr 19 Apr, 2024 07:46

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: WBB in LoGD einbinden
BeitragVerfasst: Fr 21 Mär, 2008 08:42 
Offline
Lehrling
Lehrling

Registriert: Do 05 Jan, 2006 08:57
Beiträge: 26
Geschlecht: Männlich
LoGD: http://source.surft.de
Was kann dieser Hack?
Wenn ein User im LoGD erstellt wird, wird auch ein User im WBB erstellt. (@Artemis1988: Es wird vorher geprüft, ob der User im WBB schon existiert ;) )
Wenn ein User im LoGD gelöscht wird (Inaktivität, Löschen durch User, Löschen durch Admin), wird er auch im WBB gelöscht.


WBB Lite in LoGD einbinden (für WBB2 siehe weiter unten)
Lade zuerst folgendes Archiv runter, entpacke das Archiv, öffne die wbb.php und passe dort die MySQL Angaben an:
Dateianhang:
Dateikommentar: WBB LoGD Script
wbb.zip [853 Bytes]
166-mal heruntergeladen

Lade die wbb.php in das Hauptverzeichnis von deinem LoGD. Passe die folgenden Dateien an:

Öffne create.php

SUCHE
PHP:
require_once "common.php";

FÜGE -DAHINTER- EIN
PHP:
//WBB Modifikation Start
require_once('wbb.php');
//WBB Modifikation Ende


SUCHE
PHP:
$sql = "INSERT INTO accounts
(name,
title,
password,
sex,
login,
laston,
uniqueid,
lastip,
superuser,
gold,
emailaddress,
emailvalidation,
referer,
birthday

FÜGE -DAVOR- EIN
PHP:
// WBB Modifikation Start
wbbquery("INSERT INTO ".WBBPREFIX."users
(username,
password,
email,
groupid,
rankid,
activation,
regdate,
lastvisit,
lastactivity
) VALUES (
'$shortname',
MD5('$_POST[pass1]'),
'$_POST[email]',
'4',
'4',
'1',
'".time()."',
'".time()."',
'".time()."'
)");
// WBB Modifikation ENDE


SUCHE

PHP:
if (!$blockaccount){
$sql = "SELECT name FROM accounts WHERE login='$shortname'";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>0){
output("`\$Fehler`^: Diesen Namen gibt es schon. Bitte versuchs nochmal.");
$HTTP_GET_VARS[op]="";
}else{
$title = ($HTTP_POST_VARS[sex]?"Bauernmädchen":"Bauernjunge");
if (getsetting("requirevalidemail",0)){
$emailverification=md5(date("Y-m-d H:i:s").$_POST[email]);
}
if ($_GET['r']>""){
$sql = "SELECT acctid FROM accounts WHERE login='".rawurldecode($_GET['r'])."'";
//$sql = "SELECT acctid FROM accounts WHERE login='{$_GET['r']}'";
$result = db_query($sql);
$ref = db_fetch_assoc($result);
$referer=$ref['acctid'];
}else{
$referer=0;
}

ERSETZE VOLLSTÄNDIG MIT
PHP:
// WBB Modifikation Start
if (!$blockaccount){
$userexisting = wbbquery("SELECT * FROM ".WBBPREFIX."users WHERE username LIKE '".$shortname."'");
$sql = "SELECT name FROM accounts WHERE login='$shortname'";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>0 || mysql_num_rows($userexisting)>0){
output("`\$Fehler`^: Diesen Namen gibt es schon. Bitte versuchs nochmal.");
$HTTP_GET_VARS[op]="";
}else{
$title = ($HTTP_POST_VARS[sex]?"Bauernmädchen":"Bauernjunge");
if (getsetting("requirevalidemail",0)){
$emailverification=md5(date("Y-m-d H:i:s").$_POST[email]);
}
if ($_GET['r']>""){
$sql = "SELECT acctid FROM accounts WHERE login='".rawurldecode($_GET['r'])."'";
//$sql = "SELECT acctid FROM accounts WHERE login='{$_GET['r']}'";
$result = db_query($sql);
$ref = db_fetch_assoc($result);
$referer=$ref['acctid'];
}else{
$referer=0;
}
// WBB Modifikation Ende



Öffne prefs.php

SUCHE
PHP:
// user löschen
$sql = "DELETE FROM accounts WHERE acctid='$HTTP_GET_VARS[userid]'";
db_query($sql);


FÜGE -DARUNTER- EIN

PHP:
// WBB Modifikation Start
require_once('wbb.php');
wbbquery("DELETE FROM ".WBBPREFIX."users WHERE username='".$session['user']['login']."'");
// WBB Modifikation Ende



Öffne user.php

SUCHE
PHP:
$sql = "DELETE FROM pvp WHERE acctid2=$_GET[userid] OR acctid1=$_GET[userid]";

db_query($sql) or die(db_error(LINK));


FÜGE -DARUNTER- EIN
PHP:
// WBB Modifikation Start
$sql = "SELECT login FROM accounts WHERE acctid='".$_GET['userid']."'";
$qry = db_query($sql);
$loginqry = db_fetch_assoc($qry);
require_once('wbb.php');
wbbquery("DELETE FROM ".WBBPREFIX."users WHERE username='".$loginqry['login']."'");
// WBB Modifikation Ende



Öffne setnewday.php

SUCHE
PHP:
$old+=5;


FÜGE DAHINTER EIN
PHP:
// WBB Modifikation Start
$sql = "SELECT * FROM accounts WHERE superuser<=1 AND (1=0\n"
.($old>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-$old days"))."\")\n":"")
.($new>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-$new days"))."\" AND level=1 AND dragonkills=0)\n":"")
.($trash>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-".($trash+1)." days"))."\" AND level=1 AND experience < 10 AND dragonkills=0)\n":"")
.")";
$qry = db_query($sql);
$loginqry = db_fetch_assoc($qry);
require_once('wbb.php');
wbbquery("DELETE FROM ".WBBPREFIX."users WHERE username='".$loginqry['login']."'");
// WBB Modifikation Ende


Save & Close all Files. ;)









WBB 2 in LoGD einbinden
Lade zuerst folgendes Archiv runter, entpacke das Archiv, öffne die wbb.php und passe dort die MySQL Angaben an:
Dateianhang:
Dateikommentar: WBB LoGD Script
wbb.zip [853 Bytes]
166-mal heruntergeladen

Lade die wbb.php in das Hauptverzeichnis von deinem LoGD. Passe die folgenden Dateien an:

Öffne create.php

SUCHE
PHP:
require_once "common.php";

FÜGE -DAHINTER- EIN
PHP:
//WBB Modifikation Start
require_once('wbb.php');
//WBB Modifikation Ende


SUCHE

PHP:
$sql = "INSERT INTO accounts
(name,
title,
password,
sex,
login,
laston,
uniqueid,
lastip,
superuser,
gold,
emailaddress,
emailvalidation,
referer,
birthday

FÜGE -DAVOR- EIN
PHP:
// WBB Modifikation Start
wbbquery("INSERT INTO ".WBBPREFIX."users
(username,
password,
email,
groupcombinationid,
rankid,
activation,
regdate,
lastvisit,
lastactivity
) VALUES (
'$shortname',
MD5('$_POST[pass1]'),
'$_POST[email]',
'4',
'4',
'1',
'".time()."',
'".time()."',
'".time()."'
)");
// WBB Modifikation ENDE


SUCHE
PHP:
if (!$blockaccount){
$sql = "SELECT name FROM accounts WHERE login='$shortname'";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>0){
output("`\$Fehler`^: Diesen Namen gibt es schon. Bitte versuchs nochmal.");
$HTTP_GET_VARS[op]="";
}else{
$title = ($HTTP_POST_VARS[sex]?"Bauernmädchen":"Bauernjunge");
if (getsetting("requirevalidemail",0)){
$emailverification=md5(date("Y-m-d H:i:s").$_POST[email]);
}
if ($_GET['r']>""){
$sql = "SELECT acctid FROM accounts WHERE login='".rawurldecode($_GET['r'])."'";
//$sql = "SELECT acctid FROM accounts WHERE login='{$_GET['r']}'";
$result = db_query($sql);
$ref = db_fetch_assoc($result);
$referer=$ref['acctid'];
}else{
$referer=0;
}

ERSETZE VOLLSTÄNDIG MIT
PHP:
// WBB Modifikation Start
if (!$blockaccount){
$userexisting = wbbquery("SELECT * FROM ".WBBPREFIX."users WHERE username LIKE '".$shortname."'");
$sql = "SELECT name FROM accounts WHERE login='$shortname'";
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>0 || mysql_num_rows($userexisting)>0){
output("`\$Fehler`^: Diesen Namen gibt es schon. Bitte versuchs nochmal.");
$HTTP_GET_VARS[op]="";
}else{
$title = ($HTTP_POST_VARS[sex]?"Bauernmädchen":"Bauernjunge");
if (getsetting("requirevalidemail",0)){
$emailverification=md5(date("Y-m-d H:i:s").$_POST[email]);
}
if ($_GET['r']>""){
$sql = "SELECT acctid FROM accounts WHERE login='".rawurldecode($_GET['r'])."'";
//$sql = "SELECT acctid FROM accounts WHERE login='{$_GET['r']}'";
$result = db_query($sql);
$ref = db_fetch_assoc($result);
$referer=$ref['acctid'];
}else{
$referer=0;
}
// WBB Modifikation Ende



Öffne prefs.php

SUCHE
PHP:
// user löschen
$sql = "DELETE FROM accounts WHERE acctid='$HTTP_GET_VARS[userid]'";
db_query($sql);


FÜGE -DAHINTER- EIN
PHP:
// WBB Modifikation Start
require_once('wbb.php');
wbbquery("DELETE FROM ".WBBPREFIX."users WHERE username='".$session['user']['login']."'");
// WBB Modifikation Ende



Öffne user.php

SUCHE[/b
PHP:
$sql = "DELETE FROM pvp WHERE acctid2=$_GET[userid] OR acctid1=$_GET[userid]";

db_query($sql) or die(db_error(LINK));


[b]FÜGE -DARUNTER- EIN

PHP:
// WBB Modifikation Start
$sql = "SELECT login FROM accounts WHERE acctid='".$_GET['userid']."'";
$qry = db_query($sql);
$loginqry = db_fetch_assoc($qry);
require_once('wbb.php');
wbbquery("DELETE FROM ".WBBPREFIX."users WHERE username='".$loginqry['login']."'");
// WBB Modifikation Ende



Öffne setnewday.php

SUCHE
PHP:
$old+=5;


FÜGE DARUNTER EIN
PHP:
// WBB Modifikation Start
$sql = "SELECT * FROM accounts WHERE superuser<=1 AND (1=0\n"
.($old>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-$old days"))."\")\n":"")
.($new>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-$new days"))."\" AND level=1 AND dragonkills=0)\n":"")
.($trash>0?"OR (laston < \"".date("Y-m-d H:i:s",strtotime(date("r")."-".($trash+1)." days"))."\" AND level=1 AND experience < 10 AND dragonkills=0)\n":"")
.")";
$qry = db_query($sql);
$loginqry = db_fetch_assoc($qry);
require_once('wbb.php');
wbbquery("DELETE FROM ".WBBPREFIX."users WHERE username='".$loginqry['login']."'");
// WBB Modifikation Ende


Save & Close all Files. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: WBB in LoGD einbinden
BeitragVerfasst: Fr 21 Mär, 2008 11:32 
Offline
Profi
Profi
Benutzeravatar

Registriert: Do 17 Feb, 2005 18:34
Beiträge: 192
Wohnort: Saarland
Geschlecht: Männlich
LoGD: http://www.die-legende-des-drachen.de/
Skype: foren.tom88
Moin

Fehler bzw. noch eine kleine Anmerkung

Die werden unten im Forum nicht als neuer User engezeigt und mehr Mitglieder hab ich dadurch "theoretisch" auch nicht. Im Portal werden sie zwar angezeigt das welche hinzugekommen sind, jedoch nicht in den Statistiken des Forums selber.
Da steht z.B.

Mitglieder: 49 | Themen: 263 | Beiträge: 3.692 (durchschnittlich 12,24 Beiträge/Tag)
Unser neuestes Mitglied heißt: .
Durchschnittsalter: 20,32

Die Mitgliederzahl steigt nicht und als Mitglied hat er keinen Namen da angegeben.

grüße
Tom

_________________
you can loose your money, you can loose your life, but you never forget your real friends!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 64 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum