Я работаю над плагином WordPress, который регистрирует атаки с использованием bruteforce, но это мой второй плагин, и я не уверен, как это сделать.Создание журнала PHP без базы данных
Я захватил IP-адрес машины, которая является грубой силой, атакуя форму wp-admin
, используя guard_get_ip_address()
.
Но теперь я зациклился на том, как сохранить фактический IP-адрес в момент, когда пользователь нападает на bruteforce. Есть ли способ сохранить это в таблице, как я создал ниже?
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: функция guard_get_ip_address()
только пытается захватить IP-адреса;
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;
}
Зачем сохранять html? html - это огромная трата пространства. если вы хотите записать материал, напишите JUSt информацию, которую вы хотите сохранить, и отформатируйте ее для отображения, когда это необходимо. 'file_put_contents ('log.txt', $ ip_addr, FILE_APPEND)' –
@MarcB Вы уверены, что у WordPress нет функции для этого? Я хочу полностью использовать функции, которые WordPress может предложить для этого: –
, вероятно, делает, но я стараюсь избегать как можно меньше рассказывать о возможностях словаря (а не опечатки). –