anpera.net
https://anpera.dyndns.org/phpbb3/

Zugang zur Schatzkammer beschränken
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=3435
Seite 1 von 1

Autor:  Bill Tür [ Do 08 Mär, 2007 14:31 ]
Betreff des Beitrags:  Zugang zur Schatzkammer beschränken

Ein User hat mich auf einen interessanten Bug aufmerksam gemacht, der mit der Schatzkammer zusammenhängt. Das möchte ich natürlich unterbinden, dazu müsste ich folgendes

[php]
function display_roomlist($room)
{ addnav("Zimmer");
addnav("Gemeinschaftsraum","houses.php?op=commonroom");
addnav("Küche","houses.php?op=kitchen");
addnav("Schatzkammer","houses.php?op=treasure");
addnav("Schlafzimmer","houses.php?op=partner");
addnav("Privatgemach","houses.php?op=privat");
addnav("Badezimmer","houses.php?op=bath");
addnav("Bibliothek","houses.php?op=reading");
addnav("Gerümpelkammer","houses.php?op=stuff");
addnav("Flur","houses.php?op=drin");
}
[/php]

so erweitern, dass die Schatzkammer nur betretbar ist, wenn der Status des Hauses 1 ist. Nur... wie mach ich das?

Autor:  Drazaar [ Do 08 Mär, 2007 17:31 ]
Betreff des Beitrags: 

Da du das gleiche housesystem hast wie ich:

[php]if ($row[status]!=1)
{ $has_fullaccess = FALSE;
$has_invitation = FALSE;
$lnk = "";
$lnk1 = "";
$lnk2 = "";
}[/php]
Das ist eigentlich dafür da, dass man nicht reinkommt, wenn das Haus auf Status != 1 ist. Doch man kann es natürlich umgehen... Bugusing.

Gut, also schicken machen wir das doch ganz anders: Wir schicken alle wieder nach draußen, wenn der Status des Hauses != 1 ist ;)

[php]
//IRGENDWO OBEN EINFÜGEN (am besten bei den anderen settings):
$adminacctid = 1; # Hier acctid des Empfängers für die Systemmail eingeben!

//SUCHE (mehrmals):
$sql="SELECT * FROM houses WHERE houseid=".$session[housekey]." ORDER BY houseid DESC";
$result=db_query($sql)or die(db_error(LINK));
$row=db_fetch_assoc($result);

//FÜGE DANACH EIN:
if($row['status']!=1){
systemmail($adminacctid,"`@Bugusing!!`0",$session['user']['name']." `gversuchte betrat `@Haus #".$row['houseid']."`g, obwohl dieses auf Status `@".$row['status']."`g gesetzt ist!");
redirect("houses.php");
}
[/php]
Damit müsste es bei jeder aktualisierung zurück in das Wohnviertel schicken, wenn der User versucht in einem Haus, das nicht auf Status 1 steht zu interagieren.

Ich finde es immer besser es probieren zu lassen, so findet man die potenziell gefährlichen User raus :D

MfG

€: Ich hab's nicht getestet, *müsste* aber funktionieren ^^

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/