Ich arbeite an einem WordPress-Plugin, das Bruteforce-Angriffe protokolliert, aber dies ist mein zweites Plugin und ich bin mir nicht sicher, wie das geht.Erstellen eines PHP-Protokolls ohne Datenbank
Ich ergreife die IP der Maschine, die Bruteforce Angriff auf das wp-admin
Formular mit guard_get_ip_address()
.
Aber jetzt bin ich fest, wie Sie die tatsächliche IP in dem Moment speichern, wenn der Benutzer Bruteforce angreift. Gibt es eine Möglichkeit, dies in einer Tabelle zu speichern, die ich unten erstellt habe?
function logs() {
?>
<table>
<tr>
<th>IP</th>
</tr>
<tr>
<td><?php echo guard_get_ip_address(); ?></td>
</tr>
</table>
<?php
}
function add_logs() {
wp_add_dashboard_widget('dashboard_widget', 'Logs', 'logs');
}
add_action('wp_dashboard_setup', 'add_logs');
Edit: die Funktion guard_get_ip_address()
versucht nur IPs zu greifen;
function guard_get_ip_address() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
warum speichern html? HTML ist eine riesige Verschwendung von Speicherplatz. Wenn Sie Daten protokollieren möchten, schreiben Sie JUSt die Informationen aus, die Sie speichern möchten, und formatieren Sie sie bei Bedarf zur Anzeige. 'file_put_contents ('log.txt', $ ip_addr, FILE_APPEND)' –
@MarcB Bist du sicher, dass WordPress keine Funktion für diese Sachen hat? Ich möchte die Funktionen voll nutzen, die WordPress für dieses bietet :) –
wahrscheinlich tut, aber ich versuche zu vermeiden, so wenig über Wordpukes (kein Tippfehler) Eingeweide wie möglich zu lernen. –