Вопрос к добрым Web-разработчикам
1 декабря 2008 в 16:55

Вопрос к добрым Web-разработчикам

Я ламер, но относительно среднего пользователя продвинутый. Что-то понимаю, что-то нет:)
У меня в локалке на малюсеньком веб-сервере (Small HTTP server) всем работникам показывается одна специально скроенная страничка, на которой через простые кнопочки сделан вход на платные сайты. Типа нажал кнопочку и открывается сайт, на котором ты уже залогинен.
Это удобно, когда есть один эккаунт на всех. Иногда это не так. а страничка на всех одна…
Вопрос: а как сделать так, чтобы разным пользователям с разными IP показывались разные странички? Вернее, разные копии странички — для каждого пользователя со своим набором настроенных логинов-паролей?
Вроде можно каким-то скриптом или ещё как-то…
Поможите кто сколько сможет, благодарность не будет иметь…

260
Комментарии (23)
  • 1 декабря 2008 в 17:03 • #
    Сергей Медведев

    можно делать через cookies. можно делать - через таблицу, в которой расписать, какой пользователь к каким страницам имеет доступ

  • 1 декабря 2008 в 17:08 • #
    Владимир Цветков

    Сергей все сказал.

  • 1 декабря 2008 в 17:11 • #
    Антон Малега

    Ага, а что это за таблица? Где её поместить? Что сделать с кукисами?
    Я понимаю, что кукисы - прото вроде флаерсов, которые пользователь получает чтобы сайт его признавал повторно. Но механизм работы на уровне программиста совершенно не понимаю :(
    А вот что может сделать ламер, могущий наковырять в HTML-е форму с кнопочкой, но не особо больше?

    Что-то вроде простой инструкции бы если можно

  • 1 декабря 2008 в 17:50 • #
    Владислав Бухарев

    У Вас что, сисадмина нет :) ? Если есть, то попросите. Я думаю за стакан не откажет. Загружать директора по развитию написанием скриптов - это что-то новое в моей практике :).

    Если же в условиях кризиса бедный админ был сокращён первым, то зайдите на любой фриланс-сайт (free-lance.ru, weblancer.net, free-lancers.net и т.п.) и создайте проект (задание) , где в свободной форме опишите , что хочется. Набьётся много юных кодеров, готовых за 5 баксов выполнить сию миссию.

  • 1 декабря 2008 в 17:58 • #
    Антон Малега

    Тоже совет :))
    Как-то даже не подумал!
    На самом деле, такие вещи в нашем бизнесе редким директорам приходят в голову. А у меня хобби такое :)

  • 2 декабря 2008 в 13:19 • #
    Сергей Медведев

    Антон, Вам надо сделать систему - обращайтесь - сделаем

  • 2 декабря 2008 в 13:28 • #
    Антон Малега

    Сергей, даже никогда не сомневался, что это по силам Вашей компании :)))
    А насколько вы добрые Веб-разработчики? :)

  • 2 декабря 2008 в 13:47 • #
    Сергей Медведев

    Мы - не злые :) Творим добро :)

  • 2 декабря 2008 в 14:03 • #
    Антон Малега

    Мало быть незлым, нужно быть добрым :)

  • 2 декабря 2008 в 10:59 • #
    Арсен Алакаев

    если в вашей "локалке" у каждой машины стоит стачиный IP, то при помощи if... else легко можно реализовать то, что требуется. з.ы. поправлюсь, можно это сделать и без статичных IP

  • 2 декабря 2008 в 12:40 • #
    Антон Малега

    Арсен,
    У нас именно статичные IP. if-then-else мне более-менее понятно :)
    Что надо сделать?

  • 2 декабря 2008 в 15:04 • #
    Арсен Алакаев

    составляешь базу, в которой указано, какой IP на какой сайт должен заходить. далее делаешь небольшой whois-сервис, который смотрит IP-машины. потом через условие проверяешь, есть ли такой IP в базе или нет. если есть, то перенаправляешь его на нужный сайт. З.Ы. соррь если тупо выразился. объяснять не умею

  • 2 декабря 2008 в 15:32 • #
    Антон Малега

    Да не тупо, тупо это я, необразованщина.
    Какого формата база? Если можно пример файла
    Есть ли пример whois-сервиса? Где его взять?
    На самом деле уже много теплее :))

  • 2 декабря 2008 в 16:06 • #
    Андрей Сальников

    Можно несколько упростить задачку, наверное.
    Берем Апач, ставим РНР и MySQL (это если базу надо)

    Затем пользуемся такой $ip=@$REMOTE_ADDR;
    или такой $ip=$_SERVER['REMOTE_ADDR'];
    конструкцией.

    (читать про определение IP мона тут, на английском: http://www.plus2net.com/php_tutorial/php_ip.php)

    Определять, кому какую страницу подставлять можно в зависимости от количества пользователей: массивом прямо в РНР-файле, отдельным текстовым файлом (если хочется, потом можно к этому интерфейс для редактирования через веб примастрячить) или MySQL-базой.

    По сути, если знаете С/С++ синтаксис, основы программирования и алгоритмизации - задача на пару дней :)
    Или на 6-pack пива РНР-кодеру

    Только вот если смысл - это просто открыть доступ определенным людям к закрытым простым смертным ресурсам, то для этого прокси есть с настройкой групп доступа (от бесплатного Squid до платных, типа Kerio, MS и т.п.)

  • 2 декабря 2008 в 17:16 • #
    Арсен Алакаев

    Андрей Сальников вам уже ответил и совершенно правильно. С++ я не знаю, но на PHP можно все это замутить. кстати, когда я писал прошлый ответ, то почему-то тоже думал над прокси о_О...

  • 3 декабря 2008 в 05:55 • #
    Арсений Буйницкий

    Боже, господа, о чём Вы?

    Человеку не нужна никакая система, никакие whios. У них я так понимаю несколько компьютеров и нужно средство чуть-чуть упростить жизнь людям.

    Что-то типа такого: http://pastebin.com/m7c0d8347

    Конечно это только в том случае если у вас есть способ гарантировать, что никто посторонний эти ссылки не посмотрит. Например, сервер, доступный только из локальной сети, в которой точно сидят только те, кто надо :)

  • 3 декабря 2008 в 11:43 • #
    Арсен Алакаев

    тю... а мы о чем говорили? ты уже готовый вариант нашел. только терь Антону разобраться в коде придется, ибо он без комментов.

  • 3 декабря 2008 в 14:49 • #
    Антон Малега

    Аааа!!! Именно про это! :)
    Пойду ковыряться теперь :)

    Спасибо!!

  • 5 декабря 2008 в 22:44 • #
    Арсений Буйницкий

    Кстати, можно же реализовать и на JavaScript - минус необходимость ставить интерпретатор PHP. Правда с таким методом сотрудникам гораздо проще увидеть чужие логины/пароли - если не смущает можно покопать и в эту сторону

  • 12 декабря 2008 в 14:08 • #
    Антон Малега

    У меня есть интерпретатор PHP. У меня нету понимания, тчо и где вписать на той странице, ссылку на которую Вы дали :(((
    Вот допустим, у меня три IP - 1.1.1.1, 1.1.1.2 и 1.1.1.3
    И три странички - 1.htm, 2.htm и 3.htm
    Вот где вписать что первый IP смотрит первую страничку и т.д.? Если б пример, я бы дальше уж как-нибудь всё дописал бы..

  • 13 декабря 2008 в 10:21 • #
    Андрей Сальников

    Вписывается все на index.php, насколько я знаю...

    вот пример, как можно для статичных адресов сделать простое перенаправление силами веб-сервера apache (данные параметры можно внести в файл .htaccess в основной директории либо напрямую в httpd.conf):

    SetEnvIf REMOTE_ADDR 192.168.1.1 REDIR="redir"
    RewriteCond %{REDIR} redir
    RewriteRule ^/$ /about_my_sity.html

  • 13 декабря 2008 в 10:37 • #
    Андрей Сальников

    Посмотрел подробнее пример в посте Арсения Буйницкого - там как раз индексный файл описан.
    типа index.php
    только в примере в рамках массива можно задавать имя страницы
    как-то вот так (за синтаксис не поручусь, т.к. на РНР не пишу :)

    $creds = array (
    "192.168.1.35"=>"page1.htm"',
    "192.168.1.36"=>"page3.htm"',
    "192.168.1.37"=>"page2.htm"'
    );

    затем делаете ниже как в примере - выдергивание IP и затем вместо print - редирект на нужную страницу
    типа header("location:".$creds[$ip]);

  • 3 декабря 2008 в 17:56 • #
    Иван Иванов

    Блин! РжалсО! "Мыло.Ответы "
    Жесть!


Выберите из списка
2018
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
1970