Forum Webscript.Ru
Программирование => PHP => Тема начата: -DieseLok- от 06 Сентября 2005, 16:29:49
-
Добрый день!
Подскажите пожалуйста как можно на пхп организовать сравнение...
Тоесть есть два списка чёрный и белый
когда человек регистрируеться чтобы проверялось его принадлежность к тому или иному списку.
Опишите пожалуйста систему работы такого скрипта.
Зарание спасибо!
-
-DieseLok-:
Подскажите пожалуйста как можно на пхп организовать сравнение...
Например:
if ($a == $b){ ... }
непонял в чем вопрос
-
Это пронятно но проблема вот в чём:
1. там больше 100 адресов чтоже все перечислять
2. нужно учесть маску подсети...
-
-DieseLok-:
1. там больше 100 адресов чтоже все перечислять
можно записать в файл
-DieseLok-:
2. нужно учесть маску подсети...
учитывай. кто тебе не даёт
-
Пример можно?
-
Это что из разряда "Летели 2 крокодила: 1 зеленый, другой в африку..."?
Еще раз: постановка задачи!!!
в каком виде имеем адреса?
81.22.85.89
BIN 01010001000101100101010101011001
DEC 1360418137
(а мало-ли чего в голову взбредет)
где храним?
FILE || DB
(или может в голове ;))
если в списке только ip-шники, то зачем маска?
если в списке подсети, то как хранятся?
81.22.85.11/30
81.22.85.11-81.22.85.14
or anything else{}
-
Спасибо что ответили!
храним список в файле, в виде 81.22.85.11/30
задача:
заходит чел регистриуеться, пхп определяет его ай-пи и решает пускать человека куда-то дальше или не пускать...
-
-DieseLok-:
заходит чел регистриуеться, пхп определяет его ай-пи и решает пускать человека куда-то дальше или не пускать...
ИМХО не нужна тебе эта канитель с IP адрессами раз уж пользователь регистрируется используй сесии. Это уже не раз обсуждалось в форумах. Нет 100% гарантии что PHP определит точный IP адресс пользователя.
-
[OFF]
Добавлю только то, что разумнее будет уже имеющихся пользователей разбить на определенные группы.
[/OFF]
-
-DieseLok-
ты умеешь работать с файлами?
а с массивами?
судя по твоему стажу регистрации на форуме, все эти вещи ты должен знать наизусть.
поэтому некоторое удивление вызывает, если честно, такой тривиальный вопрос
-
мене кажется, что он из разряда, когда человек знает все элементы решения, но ему лень сесть и немного подумать
-
-DieseLok-:
заходит чел регистриуеться, пхп определяет его ай-пи и решает пускать человека куда-то дальше или не пускать...
Кстати с этого места по подробнее.
Что-то смысл не понятен: чел регистр-ся, а потом скрипт проверяет стоило ему регистрироваться или нет.
Хотя, мне все равно кто как извращается.
Если надо сравнивать, ip, то навскидку могу предложить перевести ip в десятичное число:
str 81.22.88.14 = int 81*2^24+22*2^16+88*2^8+14
тоже самое с каждой подсетью в списке (для ускорения лучше все подсети хранить сразу в виде чисел)
теперь подсети (допустим 81.22.88.14/30):
2^(32-30) - буквальное число ip в подсети, т.е. от 81.22.88.14 до 81.22.88.17
итак, если ADDR between ip1,ip2, то делай выводы...
-
я думаю, ему будет проще строковыми функциями
-
спасибо большое, за столько ответов :) буду думать, мне просто не совсем система понятна была с масками ай-пи адресов
-
RomikChef:
я думаю, ему будет проще строковыми функциями
Это как?
-
Что то я вообще не могу понять...
Люди добрые ну помогите пожалуйста, сежу уже третий день, перелапатил весь ман но немогу найти нужного примера (на примере легче соображаеться)
скажем я выяснил что у чела адрес
62.149.13.80 и получил в своё распоряжение список адресов вида:
62.149.0.0/19
62.149.9.0/24
мне нужно проверить входит ли адрес человека в этот диапазон
Если да то 1
Если нет то 2
Помогите плз...
З.ы. я просто хАчу зделать такую вЭщь... у меня траффик только украинский анлимитный поэтому хачу зделать для тех кто в диапазоне определённых ай-пи могли качать с сайта что-то, а те кто вне диапазона могли просто читать и нфу разную
-
Не копти тогда людям мозг!
.htaccess для кого придумали?
-
я не коптю мозг, а совета спрашиваю...
.htaccess мне не подходит
-
На папку, где расположены файлы
Order Allow,Deny
Allow from 144.206.0.0/16
Allow from 147.45.0.0/16
Allow from 159.93.0.0/16
Allow from 193.108.182.0/24
и т.д.
[/Limit>
-
-DieseLok-:
скажем я выяснил что у чела адрес
62.149.13.80 и получил в своё распоряжение список адресов вида:
62.149.0.0/19 62.149.9.0/24
мне нужно проверить входит ли адрес человека в этот диапазон
Если да то 1 Если нет то 2
запдача для первого класса.