PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [vB 2.2.x] Benutzer Selbstlöschung



Datex
29.11.2003, 19:06
Ich hab schon öfter in einigen Boards die frage gesehen, das die Leute nach einem Hack suchen der es ihnen erlaubt sich selbst zulöschen.

Also hab ich mir Chen's Hack genommen (zufinden HIER (http://www.vbulletin.org/forum/showthread.php?t=37072)) und ihn ins User CP integriert.

Credits gehen an Chen, da der Code von ihm ist und ich ihn nur etwas angepasst hab.


Der Hack macht folgendes.

Er erlaubt es den Benutzern eines Forum sich über ihr User CP selbst zulöschen.
Es werden alle Kalender einträge, sessions, PN's ect. gelöscht. Die Beiträge bleiben aber weiterhin erhalten.

Sobald sich ein Benutzer selbst löscht wird eine eMail an die Webmaster eMail geschickt mit der msg das sich der Benutzer xyz mit der UserID x selbst gelöscht hat.

Installation ca. 2 min

Sofern bugs gefunden werden (wovon ich nicht ausgeh) bitte melden!

Datex
29.11.2003, 19:07
Hier noch ein screen.

Dede1
29.11.2003, 19:35
Ein sehr sinnvoller Hack :) man dankt werde Ihn mal einbauen da vB 3 wohl erst in 2-5 jahren kommt

martin
29.11.2003, 19:46
es wäre viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiel besser, eigentlich auch sehr wichtig, dass die abmeldung von einem admin zunächst bestätigt werden müsste.
denn bei der momentanten funktionsweise setzt bei der nächsten bekannten sicherheitslücke in vB - oder wenn irgendwer das konto von jemandem übernimmt, kommt durchaus mal vor, das allgemeine benutzerlöschen ein.
alternativ wäre vielleicht noch das bestätigen der abmeldung durch aufruf eines links, der per email an den benutzer geschickt wird - so wie bei der anmeldung, denkbar.

nachtrag: vorallem sollten admins und moderatoren darüber nicht löschbar sein.

Wishmaster
30.11.2003, 00:21
Original geschrieben von martin

nachtrag: vorallem sollten admins und moderatoren darüber nicht löschbar sein.

Welcher Admin ist den so blöd uns löscht sich selber ????:eek:

Dede1
30.11.2003, 01:12
Er meint wenn ein Sicherheitsloch da ist das niemand den Admin löschen kann,so habe ich das verstanden;)

Datex
30.11.2003, 09:08
alternativ wäre vielleicht noch das bestätigen der abmeldung durch aufruf eines links, der per email an den benutzer geschickt wird - so wie bei der anmeldung, denkbar.
Find ich ne gute idee. Werd mal sehen was ich hinbekomm ;)

Aber wieso sollen sich Admin's / Mod's nicht löschen können. Sofern man erst per mail bestätigen muss besteht doch keine gefahr. Und ansonsten sind es auch nur Benutzer im Forum :)

Paridus
07.12.2003, 18:06
erstmal vielen dank, für das übersetzen ins deutsche und für die anpassung des hack´s. ;)

kurze frage hab ich denn noch dazu, wie kann man dieses noch einbauen und hinzufügen:


Optionen
<input type="checkbox" name="delete_me" value="1"> Ja, mein Account soll gel&ouml;scht werden<br />
<input type="checkbox" name="adminnotify" value="1" checked> Die Administratoren davon in Kenntnis setzen<br />
<input type="checkbox" name="save_username" value="1" checked> Mein Username soll 90 Tage reserviert bleiben

Datex
08.12.2003, 09:49
hehe ein gEb user ;)

Sorry ich bin in php nich so bewandert das ich dir bei sowas helfen kann. Ich brech mir schon mit der eMail funktion einen ab :(

Paridus
26.12.2003, 16:15
ich habe gerade einen bug endeckt da sich ein user gelöscht hat:

in der index.php steht immer noch der username:

http://www.century-board.de/privat/paridus/gast_index.jpg


und in der forumsdisplay.php gibt es das selbe problem:

http://www.century-board.de/privat/paridus/gast_forumdisplay.jpg

wer weis rat? :confused:

Hein Blöd
26.12.2003, 17:33
Original geschrieben von Paridus
wer weis rat? :confused: Im ACP die Zähler aktualisieren

Paridus
28.12.2003, 21:35
Original geschrieben von Hein Blöd
Im ACP die Zähler aktualisieren

was meinst du wohl was ich gemacht habe ....


das problem besteht leider immer noch ....


weis keiner einen rat?

Mystics
28.12.2003, 21:49
Ich verstehe nicht, wo das Problem liegt...natürlich wird immer noch der Benutzername angezeigt, auch wenn sich der Benutzer gelöscht hat. Seine Beiträge sind doch nach wie vor vorhanden. Und sobald jemand in diesem Forum einen neuen Beitrag geschrieben hat, steht an dieser Stelle doch ein anderer Name.

Paridus
28.12.2003, 21:56
ich würde es aber gerne so haben das im forum.php und in der forumsdisplay.php gast stehen sollte.....


wenn ich mich aus einem board lösche sollte doch dann auch überall der gelöschte username auf gast stehen. :rolleyes:

Mystics
28.12.2003, 21:59
So funktioniert dieser Hack aber nun mal nicht.

Passe die Namen manuell an:
UPDATE post SET username="Gast" WHERE username="xyz";
UPDATE thread SET postusername="Gast" WHERE postusername="xyz";
UPDATE forum SET lastposter="Gast" WHERE lastposter="xyz";
UPDATE thread SET lastposter="Gast" WHERE lastposter="xyz";

Ansonsten baue dieses Queries entsprechend in die member2.php ein.

Paridus
28.12.2003, 22:11
meinst du es so?


$DB_site->query("UPDATE post SET username='".addslashes($bbuserinfo['username'])."',userid=0 WHERE userid=$bbuserinfo[userid]");
$DB_site->query("UPDATE thread SET postusername='".addslashes($bbuserinfo['username'])."',postuserid=0 WHERE postuserid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM user WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM userfield WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM access WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM calendar_events WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM customavatar WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM moderator WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM privatemessage WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM subscribeforum WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM subscribethread WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM session WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM useractivation WHERE userid='$userid'");
// Mystics
$DB_site->query("UPDATE post SET username="Gast" WHERE userid = '$userid'");
$DB_site->query("UPDATE thread SET postusername="Gast" WHERE userid = '$userid'");
$DB_site->query("UPDATE forum SET lastposter="Gast" WHERE userid = '$userid'");
$DB_site->query("UPDATE thread SET lastposter="Gast" WHERE userid = '$userid'");

// alte usernamen
$DB_site->query("DELETE FROM namelogs WHERE userid='$userid'");
// neu
$DB_site->query("UPDATE user SET referrerid = 0 WHERE userid = '$userid'");
$DB_site->query("DELETE FROM bedankomat WHERE userid='$userid'");
$DB_site->query("DELETE FROM usernotepad WHERE userid='$bbuserinfo[userid]'");

Mystics
28.12.2003, 22:22
Nein. Du findest doch ganz oben sogar schon zwei Queries, die du nur noch anpassen brauchst.
$DB_site->query("UPDATE post SET username='Gast',userid=0 WHERE userid=$bbuserinfo[userid]");
$DB_site->query("UPDATE thread SET postusername='Gast',postuserid=0 WHERE postuserid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM user WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM userfield WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM access WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM calendar_events WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM customavatar WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM moderator WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM privatemessage WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM subscribeforum WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM subscribethread WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM session WHERE userid=$bbuserinfo[userid]");
$DB_site->query("DELETE FROM useractivation WHERE userid='$userid'");
// Mystics
$DB_site->query("UPDATE forum SET lastposter='Gast' WHERE lastposter = '".addslashes($bbuserinfo[username])."'");
$DB_site->query("UPDATE thread SET lastposter='Gast' WHERE lastposter = '".addslashes($bbuserinfo[username])."'");
// alte usernamen
$DB_site->query("DELETE FROM namelogs WHERE userid='$userid'");
// neu
$DB_site->query("UPDATE user SET referrerid = 0 WHERE userid = '$userid'");
$DB_site->query("DELETE FROM bedankomat WHERE userid='$userid'");
$DB_site->query("DELETE FROM usernotepad WHERE userid='$bbuserinfo[userid]'");

Sebi
28.12.2003, 22:38
Sorry wenn ich das jetzt hier reinbringe...
Aber passt irgendwie.

Wie sieht es denn rein rechtlich aus?
Ein User verlangt von mir das ich seinen Acc lösche.

Was nun?
Nur den User löschen? Wobei dann immer noch der Name von dem User bei den Posts steht. Oder peng?
Oder muss wirklich alles gelöscht werden?!
Und nochmal oder ;) reicht es nicht wenn da Gast steht?

nobody
28.12.2003, 22:45
du musst alles löschen weil es sich um sogenanntes geistiges Eigentum handelt.
Nur bei entsprechenden Nutzungsbedingungen die der nutzer akkzeptiert könnte man dies umgehen obwohl selbst das wohl schwierig ist wenn wirklich jemand auf die Löschung besteht.

Sebi
28.12.2003, 22:50
gibt es dazu irgendwo nen link?

Paridus
02.01.2004, 12:28
nun ist etwas schlimmes passiert, ich habe den hack ausgeführt und nun sind alle meine beiträge auf gast gesetzt, was ist da schief gelaufen?

ps: habe Mystics änderungen auch in die user.php eingebaut ....


bitte um rat.

Mystics
02.01.2004, 13:02
Original geschrieben von Paridus
nun ist etwas schlimmes passiert, ich habe den hack ausgeführt und nun sind alle meine beiträge auf gast gesetzt, was ist da schief gelaufen? Du selber führst einen Hack aus, der dazu dient, deinen Benutzer zu löschen und wunderst dich dann, dass sowas passiert ist :confused:

Paridus
02.01.2004, 13:06
Original geschrieben von Mystics
Du selber führst einen Hack aus, der dazu dient, deinen Benutzer zu löschen und wunderst dich dann, dass sowas passiert ist :confused:

ich als admin habe ihn nicht ausgeführt, ich habe um es zu testen ja einen test acount angelegt, und dabei mus es wohl passiert sein :(

Prankster
20.01.2004, 16:14
Original geschrieben von nobody
du musst alles löschen weil es sich um sogenanntes geistiges Eigentum handelt.
Nur bei entsprechenden Nutzungsbedingungen die der nutzer akkzeptiert könnte man dies umgehen obwohl selbst das wohl schwierig ist wenn wirklich jemand auf die Löschung besteht.

Dürfte ich Dich bitten solche falsch aussagen zu unterlassen.

Ein User kann lediglich verlangen , dass seine Personenbezogenen Daten entfernt werden. Das heisst: Alles was mit Ihm persönlich in Verbindung steht.
Im Grunde nur die IP und die E-Mail Adresse. Existieren customfields , so sind diese gegebenfalls zu prüfen.

Entfernst Du die IP Logs und die E-Mail Adresse zu dem User , so hast Du schon mal die Personenbezogenen Daten entfernt. Ein Nickname im Internet ist keine Personenbezogene Angabe.

Bleiben nur noch die Beiträge.
Es besteht in Foren nur selten der Bestand des Uhrheberrechts und dessen Anwendung im Bezug auf den Inhalt eines Beitrags.

Zitat aus einem Gutachten, welches auf Forenanbieter ausgelegt war/ist


Bezogen auf die hier relevanten Forumsbeiträge muss demnach wie folgt differenziert werden.
Alltägliche Mitteilungen werden unabhängig von der Berühmtheit ihrer Verfasser nicht geschützt. Erst wenn die Beiträge ihrem Inhalt nach über alltägliche Äusserungen hinausgehen, z. B. wissenschaftliche, literarische oder in sonstiger Weise individualisierte Mitteilungen enthalten, welche sich von Alltagäusserungen abheben, werden sie durch das Urheberrecht gem. § 2 I, Nr. 1 UrhG abgesichert.

Ob in einem Forumsbeitrag eine solche persönliche geistige Schöpfung zu sehen ist, kann nicht pauschal, sondern nur am Einzelfall beurteilt werden.
Unterliegen die veröffentlicheten Forumsbeiträge keinen Schutz des Urheberrechts, so muss gem. §§ 12 ff. UrhG lediglich auf das allgemeine Persönlichkeitsrecht des Verfassrers Rücksicht genommen werden.

Zudem sollte erwähnt werden , dass es noch kein Urteil genau diesbezüglich gibt.

Prankster

Datex
16.04.2004, 11:10
Kann es sein das es mit dem Hack probleme mit vB2.3.5 gibt ?
Ich bekomm ihn nehmlich nicht zumlaufen*schäm*

Datex
18.04.2004, 11:47
Also ich hab mich gestern den halben tag damit auseinandern gesetzt aber ich kann beim besten willen keinen fehler finden. Wurde vielleicht irgend eine function die von nöten für den Hack ist ersetzt oder verändert ?

martin
19.04.2004, 02:57
Kann es sein das es mit dem Hack probleme mit vB2.3.5 gibt ?
Ich bekomm ihn nehmlich nicht zumlaufen*schäm*

wer nämlich mit H schreibt... ;)

was funktioniert denn nicht, passiert nix?

Datex
19.04.2004, 08:26
wer nämlich mit H schreibt...
:p

was funktioniert denn nicht, passiert nix?
Genau des. Des Profil wird noch ganz normal aufgerufen, aber sobald man auf löschen clickt bekommt man ne weise seite und anstatt member2.php?s=&action=killme wird plötzlich member.php in der browser zeile angezeigt.
Die templates hab ich alle überprüft ob der button vielleicht falsch ist, aber sowas alles richtig.

//edit
Sorry für die aufregung, hat sich erledigt. Es lag doch ein fehler in den templates vor den ich übersehen hatte.