- sites/start.php: ein Query statt zwei, Passwortvergleich per hash_equals in PHP statt im SQL, Updates per id. Die Eingaben gehen nicht mehr durch htmlspecialchars(): Passwoerter werden beim Anlegen roh gehasht, mit & < > " ' konnte man sich deshalb bisher nie anmelden. - getUserSetting/updateUserSetting mit Platzhaltern; behoben: INSERT-Zweig rief mysqli_real_escape_string ohne Verbindung auf (Fatal Error), $mysqli_error als Variable, ungewolltes echo "update". Aufrufer escapen nicht mehr vor (sonst doppelt), settings.php: Tippfehler mysqi_real_escape_string beim Speichern von show_sks behoben, style nur als Dateiname ohne Pfad. - authServer.php, addKey.php, userkeys.php, checkAdduser(): Platzhalter. Passkey-INSERT setzt lastAuth/authKey (Pflichtfelder im strikten Modus). addKey nur als reine Ziffern, sonst passte "12345678xyz" per Typumwandlung. - checkLogin() entfernt: nirgends aufgerufen, fragte die nicht existierende Tabelle users ab. - userkeys.tpl: Passkey-Name escaped. Getestet gegen die migrierte Testdatenbank im strikten Modus. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
20 lines
719 B
Smarty
20 lines
719 B
Smarty
{*<a href='?action=termin'><span class='cal' title="Passkeys verwalten" style='margin-left: 50%;'></span></a><br />*}
|
|
<div id="tabs">
|
|
{* ANZEIGE PANE *}
|
|
<div class='widthlimiter'>
|
|
<h3>{$user.vname} {$user.nname}</h3>
|
|
<div id='termcontainer-{$user.id}'>
|
|
{if $local == true}
|
|
<a href='addKey.php?id={$user.id}&add=new'><span class='addcenter' title="Neuer Passkey"></span></a><br />
|
|
{/if}
|
|
<table><tr><th>Name</th><th>Aktion</th></tr>
|
|
{foreach $keys as $key}
|
|
<tr>
|
|
<td>{$key.name|escape}</td>
|
|
<td><a href="?action=userkeys&id={$user.id}&del={$key.id}"><span class="del" title="Passkey löschen"></span></a></td>
|
|
</tr>
|
|
{/foreach}
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div> |