2016-07-08 2 views
0

Я работаю над плагином 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; 
} 
+0

Зачем сохранять html? html - это огромная трата пространства. если вы хотите записать материал, напишите JUSt информацию, которую вы хотите сохранить, и отформатируйте ее для отображения, когда это необходимо. 'file_put_contents ('log.txt', $ ip_addr, FILE_APPEND)' –

+0

@MarcB Вы уверены, что у WordPress нет функции для этого? Я хочу полностью использовать функции, которые WordPress может предложить для этого: –

+0

, вероятно, делает, но я стараюсь избегать как можно меньше рассказывать о возможностях словаря (а не опечатки). –

ответ

-1

Извините, я неправильно понял вопрос.

В вашем плагине вам необходимо сохранить данные сервера в элемент javascript, в котором вы можете использовать JQUERY для выполнения.

Самый быстрый способ, который я знаю в моей голове на данный момент, - это Cookies.

  1. Создать печенье в PHP и вытащить его в JS:

    $ cookie_name = "IP"; $ cookie_value = "127.0.0.1"; // добавим ваше значение здесь setcookie ($ cookie_name, $ cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 день

  2. var x = document.cookie;

оттуда, вы можете использовать JQuery, чтобы добавить к таблице:

$ ('TABLEID тр: первый тд'). HTML (х);

+0

Как я могу получить данные, хранящиеся там в таблице, как в моем сообщении? –

Смежные вопросы