Die eigentliche Funktion liefert bereits TrinityCore. Somit bleibt nur noch eine Möglichkeit einzufügen den Code zu generieren und zu verwenden. Wenige bis keine Server bieten diese Möglichkeit der Sicherheit an, weswegen ich das nun von meinem Server auf Public mache.
Der PHP Code:
PHP Code:
<?php
DEFINE("BASE_URL", "/");
DEFINE("ROOT_PATH", $_SERVER["DOCUMENT_ROOT"] . "/");
require_once (ROOT_PATH . "inc/class_token.php");
require_once (ROOT_PATH . "inc/class_database.php");
require_once (ROOT_PATH . "assets/class_header.php");
?>
<title>Noones - WoW 3.3.5A Authenticator Setup</title>
<div class="container">
<main id="main">
<div class="panel panel-default">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
Noones - WoW Account Token Generator
</h4>
</div>
<div class="panel-collapse collapse in" role="tabpanel">
<div class="panel-body news-text text-left">
Nachfolgend findest du 2 Werte die es dir ermöglichen deinen Account zu sichern. Dazu folgt noch eine kleine Anleitung wie du dies kostenlos umsetzen kannst.
Auf der Domain von der App <a href="https://freeotp.github.io/">FreeOTP</a> findest du eine Anwendung die du auf deinem Smartphone oder PC installieren kannst. Damit ist es dir
möglich den hier generierten Wert in deinen Account einzutragen. Es wird dir empfohlen den Wert aufzuschreiben und nicht an dritte weiter zu geben. Im Accountanel kannst du dann
deinen Token eingeben und speichern. beachte dass du in der App die gleiche E-Mail wie die von deinem Account eingeben musst, da der Token sonst nicht funktioniert. Wir werden
ohne entsprechenden Nachweis keinen gesetzten Token vom Account entfernen. <br /><br />
<?php
$my_array = array("2", "3", "4", "5", "6", "7");
for ($i=0; $i<=7; $i++) {
$random = array_rand($my_array);
$auth_token .= $my_array[$random];
}
$my_array = array("b", "c", "d", "e", "f", "h", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
for ($i=0; $i<=15; $i++) {
$random = array_rand($my_array);
$auth_hash .= $my_array[$random];
}
echo 'Dein unique Authenticator Token: ' . '<b>' . $auth_token . '</b>';
echo '<br />';
echo 'Dein unique Authenticator Hash: ' . '<b>' . $auth_hash . '</b>' . '<br /><br />';
?>
Und so funktioniert es: <br /><br />
1. Gib im ersten Feld deine im Account hinterlegte E-Mail ein.<br />
2. Gib im zweiten Feld den Authenticator Hash ein.<br />
3. Gib im "Secret" Feld, den acht stelligen Token ein.<br />
4. Wähle im Feld "Type" die TOTP option aus.<br />
5. Wähle im Feld "Digits" die Option 6 aus.<br />
6. Wähle im Felf "Algorithm" die Option SHA1 aus.<br />
7. Setze den Wert von "Interval" auf 30.<br />
</div>
</div>
</div>
</main>
</div>
<?php require_once (ROOT_PATH . "assets/class_footer.php"); ?>
Link ->

Hinweis: Der Link wird nur zu einem Demonstrativen Zweck verwendet und dient in keiner Weise einer Bewerbung des WoW Servers (Dieser ist sowieso nicht für jedermann zugänglich).
Wie funktioniert das ganze System nun?
Als erstes kann man mittels dem Script einen Hash und einen Token generieren, beide funktionieren unabhängig voneinander. Den Hash und den Token kann man in das Registrierungsformular mit einbinden.
Warum soll ich den Hash mit generieren?
Dies ist die Basis, der Hash wird mit benutzt um den Code alle 30 Sekunden neu zu generieren, zudem kann der Hash mit in die Datenbank geschrieben werden, damit man bei Passwortverlust seinen Account verifizieren kann und im Notfall ein Administrator anhand in der Datenbank eingetragenen Hash validieren kann ob es sich um den Eigentümer handelt oder nicht.
Hier mal ein Beispiel wenn man eine Tabelle dafür hinzufügen möchte.
PHP Code:
ALTER TABLE `account` ADD `token_hash` VARCHAR(16) NOT NULL AFTER `token_key`;
Viel Spaß beim rumprobieren






