it-place.net > Скриптове > PHP > Трикове
Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

 Как да създадем сайт, предпазен от нежелани гости!
Автор  echo $_PHP_USER (12.02.2006 15:58) съобщение до автора
Погледнат  7559 пъти добави към любими
Оценка добави коментар
Гласове  6 изпрати на приятел
Коментари  (7) абонирай се за PHP
     
echo $_PHP_USER
     
 

Това е първия ми урок тук, така че не бъдете толкова строги към мен:)
Този скрипт е предназначен за хора, които имат сайт на собствената си машина, за да:

  • Се упражняват
  • Предоставят информация на приятели и т.н. по локален път и нямат идея как да си настроят Апачето:)

Също така скрипта можете да използвате и за да баннете някого (с малко повече модификация, разбира се).

Можете да използвате MySQL база данни, но в случая е по-удачно просто да имаме няколко променливи.

Ето го и кода:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$ip = $_SERVER['REMOTE_ADDR'];

/* LOCALHOST */
$host = '127.0.0.1';

/* Тук поставяте външния или вътрешния си IP адрес, без цифрите след последната точка. Запомнете, че според това как потребителите ще влизат в сайта ви зависи дали ще запишете вътрешното или външното IP на мрежата си. */
$local = '145.52.34.';

/* Това е броят символи на локалния ви IP адрес(без последните), включително последната запетая. В случая те са десет. */
$simvoli_local = 10;

/* Евентуално ако желаете да предоставите достъп на някой, който не е от вашата мрежа */
$priqtel_1 = '175.24.67.89';

/* Ето я и проверката */
if($ip == $host || substr($ip, 0, $simvoli_local) || $ip == $priqtel_1)
{
  
echo 'Проверката е направена. Вие сте валиден посетител!';
}
else
{
  
echo 'Достъп отказан.';
}
?>

Не е голяма философия, но може да ви защити. Аз, например, бях получил десетки посещения от Тайван, Китай и т.н., които най-вероятно са били роботизирани, за да търсят някакви дупки (предавани стойности по метода на GET например).



Ключови думи: PHP бан ip адрес скрипт сайт security защита




 1 посетител чете този скрипт (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

А ако съм с динамично ай пи как става номера ;)

  tinika на 24.04.2007 18:36

примерчето е прекалено елементарно, не забравяйте че има и проксита... бих препоръчал да се имат впредвид и променливите:
$_SERVER["HTTP_CLIENT_IP"]
$_SERVER['HTTP_X_FORWARDED_FOR']

относно register globalss OFF
няма лошо и да са включени, но е добре да внимавате със session променливите си ;)

  dimomit на 26.04.2006 22:00

echo $_PHP_USER
$ip = array ("*");
това ти забранява достапа на всички IP, правиш си допалнителен ред за даване на достапш до IP xxx.xxx.xxx.xxx ...

  dam_dam на 28.02.2006 15:15

Pure Evil:
 
и нямат идея как да си настроят Апачето:)
dam_dam - ами ако искаш да разрешиш само на 1-2 адреса какво ще направиш - всички останали ще ги изредиш в тоя масив ли?

  echo $_PHP_USER на 22.02.2006 20:13

PureEvil знам че има и дръги начини, но човека е писал php код затова и аз му отвръщам с php, а и темата все пак е "Скрипт от рубриката PHP >"

  dam_dam на 20.02.2006 10:05

Един съвет: пишете скриптове за register globalss OFF
Така че $_SERVER["REMOTE_ADDR"] е по правилното :).
Само се чудя защо е нужно да се позлва РНР за тази цел? Не че не може де :), но има по удачно решение htaccess файлове.

  PureEvil на 17.02.2006 13:34

мисля че е доста по-лесно това:

<?  
$ip = array ("72.14.207.104","85.14.4.20");  //тук пишете IP-тата които не искате да имат достъп до страницата
if (in_array($REMOTE_ADDR,$ip)) {  
  print "You are banned from this webpage!";  
  exit();  
}  
?>

  dam_dam на 15.02.2006 15:25

 

 
  • Интересно от Софтуер
 
  • Интересно от myLINKS
 
 
 
 



IT-PLACE.NET © 2004 - 2008