 |
|

03.11.2016, 10:45
|
|
Постоянный
Регистрация: 28.10.2015
Сообщений: 482
С нами:
5549172
Репутация:
312
|
|
Моя фантазия подсказала что тему надо разместить именно в этом разделе.
Итак, в связи с гигантской активностью хакеров, которые пытаются ломануть мою бд, я в свою очередь хочу обезопасить себя и своё дитё от обидчиков. С чего я начал?
Ну конечно же я ограничил доступ ко всем админ панелям вот этим дерьмом:
PHP:
Код:
$allowed_ips
=
"127.0.0.1"
;
$ips
=
explode
(
" "
,
$allowed_ips
)
;
if
(
array_search
(
$_SERVER
[
"REMOTE_ADDR"
]
,
$ips
)
===
FALSE
)
{
echo
"Уважаемый хакер! Обещаю, я заблокирую ваш IP при очередной попытке поиметь админку."
;
exit
;
}
;
но мне показалось этого мало, и я решил сделать лог определенных файлов (админ панелей) для того, чтоб я видел кого карать...
Но вот ведь незадача, я уже сутки пытаюсь это сделать, и до сих пор безуспешно ...
Если есть люди которые за доброе спасибо мне его чирканут, я буду очень благодарен!
Нужен код, который будет логировать обращение именно к указанным файлам, например к admin.php cp.php
|
|
|

03.11.2016, 11:56
|
|
Участник форума
Регистрация: 02.11.2016
Сообщений: 151
С нами:
5014470
Репутация:
0
|
|
"127.0.0.1","2"=>"127.0.0.2","3"=>"127.0.0.3") ;
$ip=$_SERVER['REMOTE_ADDR'];
$_SESSION["atempt"]=0;
$atempt=(isset($_SESSION["atempt"]))?$_SESSION["atempt"]:0;
// if (array_search($ip,$allowed_ips) === FALSE) Mozit bit i takoje
if (array_search($ip,$allowed_ips) Уважаемый хакер! Обещаю, я заблокирую ваш IP при очередной попытке поиметь админку.";
$_SESSION["atempt"]=+1;
if ($_SESSION["atempt"]>=1){
$time=now();
$query="INSERT INTO Ban_IP (ip, time, note)
VALUES ('$_SERVER['REMOTE_ADDR']', '$time', 'при очередной попытке поиметь админку')";
//Zdes pravodim Zalif Adresa v MYSQL
};
exit;
};
pss. posli takoi zapisi v asnavnom index.php ili kak ti tam nazval
dalzna bit pravera4ka ili IP adresok zamanen
checkip($_SERVER['REMOTE_ADDR']);
if (checkip ==1){die("vam pizdec vi zablakiravani");}
function checkip($ipadress){
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql="Select * From Ban_IP WHERE ip='$ipadress'"
$result = $conn->query($sql);
if (isset ($result)){return 1;}
else{return 0;}
}
|
|
|

03.11.2016, 12:00
|
|
Участник форума
Регистрация: 02.11.2016
Сообщений: 151
С нами:
5014470
Репутация:
0
|
|
? могут быть синтаксис ошибки ,писал на быструю руку
|
|
|

03.11.2016, 12:14
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2015
Сообщений: 1,791
С нами:
5799746
Репутация:
1388
|
|
Сообщение от Grand
? могут быть синтаксис ошибки ,писал на быструю руку
Там не синтаксические, если будет возможность, щас набросаю свой вариант
|
|
|

03.11.2016, 12:38
|
|
Постоянный
Регистрация: 28.10.2015
Сообщений: 482
С нами:
5549172
Репутация:
312
|
|
Если я этот скрипт инклюдом сделаю, будет работать?
|
|
|

03.11.2016, 12:39
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2015
Сообщений: 1,791
С нами:
5799746
Репутация:
1388
|
|
Сообщение от VoDela
Если я этот скрипт инклюдом сделаю, будет работать?
Нет. там надо подключение к бд настроить типо, так же нужен таблицу создать ( он не скинул запрос)
+ там есть лишнее.
|
|
|

03.11.2016, 12:51
|
|
Постоянный
Регистрация: 28.10.2015
Сообщений: 482
С нами:
5549172
Репутация:
312
|
|
А txt файлы не в моде? Хочется побольше автономности, доолжны понимать)
|
|
|

03.11.2016, 12:53
|
|
Участник форума
Регистрация: 02.11.2016
Сообщений: 151
С нами:
5014470
Репутация:
0
|
|
да надо сделать MYSQL Таблицу ,сделать подключение и работать будет Можно место MYSQL сделать в .txt формате,ну это не удобно для быстрых манипуляций
|
|
|

03.11.2016, 13:07
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2015
Сообщений: 1,791
С нами:
5799746
Репутация:
1388
|
|
Сообщение от Grand
да надо сделать MYSQL Таблицу ,сделать подключение и работать будет Можно место MYSQL сделать в .txt формате,ну это не удобно для быстрых манипуляций
Та ну хз, можно и ткт, зачем париться
Я чутка переделал твой вариант)
PHP:
[CODE]
session_start
(
)
;
$allowed_ips
=
array
(
"1"
=
>
"127.0.0.1"
,
"2"
=
>
"127.0.0.2"
,
"3"
=
>
"127.0.0.3"
,
)
;
$file
=
'bannedip.txt'
;
$try
=
'tryip.txt'
;
$ip
=
getIp
(
)
;
if
(
array_search
(
$ip
,
$allowed_ips
)
|
|
|

03.11.2016, 13:34
|
|
Постоянный
Регистрация: 28.10.2015
Сообщений: 482
С нами:
5549172
Репутация:
312
|
|
Вот так наверное по изящней будет:
PHP:
Код:
if
(
!
file_exists
(
FCreator
:
:
PATH_TO_FILE
)
{
FCreator
:
:
getInstance
(
)
-
>
createAndWrite
(
)
;
}
else
{
FCreator
:
:
getInstance
(
)
-
>
write
(
)
;
}
class
FCreator
{
public
const
PATH_TO_FILE
=
"путь к файлу"
;
public
static
function
getInstance
(
)
{
return
self
:
:
i
=
new
FCreator
(
)
;
}
public
function
write
(
)
{
if
(
file_put_contents
(
PATH_TO_FILE
,
"Подключение на маршрут администратора. IP адрес: "
.
SERVER
[
'REMOTE_ADDR'
]
.
" Дата:"
.
date
(
'Y/m/d-h:m'
)
)
)
{
//записано в файл
}
else
{
//unknown error
}
}
public
function
createAndWrite
(
)
{
fcreate
(
PATH_TO_FILE
)
;
$this
-
>
write
(
)
;
}
}
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|