Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как поставить блокировку на ip адрес?
 
 автор: 123php   (05.12.2006 в 21:38)   письмо автору
 
 

Необходимо поставить блокировку на адреса 84.52.71.ххх и конкретные адреса. Как это сделать?

   
 
 автор: himic   (06.12.2006 в 06:09)   письмо автору
 
   для: 123php   (05.12.2006 в 21:38)
 

Это можно сделасть двумя способами
в файле .htaacces
Order Deny,Allow
Allow from all
Deny from 176.16.0.0/16
если вы хотите запретить доступ сети 176.16

ну и в самом скрипте $_SERVER['REMOTE_ADDR']
проверяешь, если это он то exit();

   
 
 автор: 123php   (06.12.2006 в 13:16)   письмо автору
 
   для: himic   (06.12.2006 в 06:09)
 

А если необходимо , например, два адреса? Надо так сделать?

Deny from 176.16.0.123, 176.16.0.124

   
 
 автор: himic   (06.12.2006 в 13:47)   письмо автору
 
   для: 123php   (06.12.2006 в 13:16)
 

Выходит что так, попробуй

   
 
 автор: 123php   (06.12.2006 в 16:17)   письмо автору
 
   для: himic   (06.12.2006 в 13:47)
 

что не идет... хотя пробовал на локале... поставил сторонние адреса... и страница вообще не грузится

   
 
 автор: Unkind   (07.12.2006 в 15:12)   письмо автору
 
   для: 123php   (06.12.2006 в 16:17)
 


Deny from 176.16.0.123
Deny from 176.16.0.124

   
 
 автор: 123php   (08.12.2006 в 00:10)   письмо автору
 
   для: Unkind   (07.12.2006 в 15:12)
 

вот такой у меня код, но не грузится страница.... свой адрес не ставлю


DirectoryIndex index.html index.php

Order Deny, Allow
Allow from all
Deny from 84.52.69.ввв
Deny from 84.52.71.ввв

   
 
 автор: 123php   (08.12.2006 в 19:36)   письмо автору
 
   для: 123php   (08.12.2006 в 00:10)
 

.

   
 
 автор: aexb   (08.12.2006 в 19:50)   письмо автору
 
   для: 123php   (06.12.2006 в 13:16)
 

Очень просто. Можно записывать адреса для блокировки в БД или в файл. Или, на худой конец, создавать массив с адресами в самом проверочном скрипте. Взято из книги "PHP5 на примерах":
<?
$ip
=array(
  
"192.168.0.1""192.168.3.255""10.45.9.19""10.15.556.1",
);
if (empty(
$_SERVER['REMOTE_ADDR'])) {
  die(
"Your IP is not detected!");
}
elseif  (
in_array($_SERVER['REMOTE_ADDR'], $ip)) {
  die(
"Forbidden zone!");
}
?>

   
 
 автор: 123php   (08.12.2006 в 20:32)   письмо автору
 
   для: aexb   (08.12.2006 в 19:50)
 

мне бы лучше через .htaacces

   
 
 автор: Unkind   (09.12.2006 в 09:10)   письмо автору
 
   для: aexb   (08.12.2006 в 19:50)
 

if (empty($_SERVER['REMOTE_ADDR'])) {
die("Your IP is not detected!"); - такого быть не может...

   
 
 автор: aexb   (09.12.2006 в 09:49)   письмо автору
 
   для: Unkind   (09.12.2006 в 09:10)
 

пример из софттаймовской книги :-) название см. выше, стр. 85.

   
 
 автор: Unkind   (09.12.2006 в 10:50)   письмо автору
 
   для: aexb   (09.12.2006 в 09:49)
 

Хех...Весело...:)

   
 
 автор: cheops   (09.12.2006 в 14:32)   письмо автору
 
   для: Unkind   (09.12.2006 в 09:10)
 

>такого быть не может...
Может, если сервер не заполняет переменную REMOTE_ADDR, такое бывает, не часто и не на всех серверах, но бывает. Лучше не надеятся, что эта переменная всегда будет корректно заполнена.

   
 
 автор: Unkind   (09.12.2006 в 14:36)   письмо автору
 
   для: cheops   (09.12.2006 в 14:32)
 

Тогда уже ни на что надеется нельзя будет :))

   
 
 автор: 123php   (10.12.2006 в 18:44)   письмо автору
 
   для: Unkind   (09.12.2006 в 14:36)
 

ааа!) так что же тогда писать?

   
 
 автор: Unkind   (10.12.2006 в 20:02)   письмо автору
 
   для: 123php   (10.12.2006 в 18:44)
 

ааа!) так что же тогда писать?

Что-то типа этого :)):


<?php
if (empty($_SERVER['REMOTE_ADDR']))

   die(
   
'<html>'.
   
'<head><title>Ошибка</title></head>'.
   
'<body>'.
   
'Сайт временно недоступен, т.к. он находится на "левом" сервере.<br />'.
   
'</body></html>'
   
);
}
?>

   
 
 автор: 123php   (10.12.2006 в 23:31)   письмо автору
 
   для: aexb   (08.12.2006 в 19:50)
 

Cтавлю


<?
$ip
=array(
  
"192.168.0.1""192.168.3.255""10.45.9.19""10.15.556.1""127.0.0.1"
);
if (empty(
$_SERVER['REMOTE_ADDR'])) {
  die(
"Your IP is not detected!");
}
elseif  (
in_array($_SERVER['REMOTE_ADDR'], $ip)) {
  die(
"Forbidden zone!");
}
?>


на локале работает, хотя не должжен.

   
 
 автор: 123php   (11.12.2006 в 22:49)   письмо автору
 
   для: 123php   (10.12.2006 в 23:31)
 

.

   
 
 автор: 123php   (09.12.2006 в 00:19)   письмо автору
 
   для: 123php   (05.12.2006 в 21:38)
 

ну не уже ли никто не знает?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования