Обява

Свий
Няма добавени обяви.

Въпросче към уеб програмистите

Свий
X
 
  • Филтър
  • Час
  • Покажи
Изчисти всичко
нови мнения

  • Въпросче към уеб програмистите

    Имам един "тъп въпрос" но нещо съм зациклил. Отделно не мога да се сетя и как да го задам на google за да ми каже как да станат нещата.

    Накратко, имам един source(да кажем IP излъчващо TV) въпроса е, че може да се гледа от само от външните потребители а от локалните не може. За да се гледа от локалните, трябва да се изпише локалното ИП...

    И всъщност това което ми трябва. Скрипт на сайта проверяващ дали потребителя е локален или външен, и в зависимост от това да му дава външното или локалното IP... Някакви идеи?

  • #2
    От: Въпросче към уеб програмистите

    нещо такова на първо четене....

    <?php
    $localhost="http://192.168.0.1/video...";
    $gateway="http://80.90.100.110/video...";
    if (substr($_SERVER['REMOTE_ADDR'], 0, 8 ) == "192.168.") { // или си въведи началото на ип от вътрешната ти мрежа
    header("Location: ".$localhost);
    } else {
    header("Location: ".$gateway);
    }
    ?>
    WG 2.7 CRD

    Коментар


    • #3
      Re: Въпросче към уеб програмистите

      Не схващам въпроса - уеб базирано ли е. Ако да самия сайт вижда ли се локално. И ако не явно не си си настроил сървера да го пуска локално. Не виждам как сайта ще му дава ИП.

      Относно локална мрежа моя тестови сървер си е вързан локално с нереално ип 192.168.10.156 и съответно уеб сървера е настроен да сервира в тази мрежа.

      Ако проблема е с днс а - ще се наложи да си пуснеш днс и да си го настроиш да редиректва и локалните потребители към вътрешното ип.

      Коментар


      • #4
        От: Въпросче към уеб програмистите

        Първоначално публикуван от imarh Преглед на мнение
        нещо такова на първо четене....

        <?php
        $localhost="http://192.168.0.1/video...";
        $gateway="http://80.90.100.110/video...";
        if (substr($_SERVER['REMOTE_ADDR'], 0, 8 ) == "192.168.") { // или си въведи началото на ип от вътрешната ти мрежа
        header("Location: ".$localhost);
        } else {
        header("Location: ".$gateway);
        }
        ?>
        Благодаря, точно това ми трябваше... Ще го пробвам скоро да видим какво ще стане...

        Не схващам въпроса - уеб базирано ли е. Ако да самия сайт вижда ли се локално. И ако не явно не си си настроил сървера да го пуска локално. Не виждам как сайта ще му дава ИП.
        Сорса е във вътрешна локална мрежа, и се пренасочва към външното ИП... Нали се сещаш както става ако то вътрешната локална мрежа, напиеш реалното ИП и ПОЧНЕ ДА ТЕ РЕДИРЕКТВА пак към локалната мрежа...

        Коментар


        • #5
          Re: Въпросче към уеб програмистите

          Схванах горното ще свърши работа

          Погледни го само какво връща преди да го пуснеш, ако връща грешно ип пробвай това.


          PHP Код:
          function getIP() {
              if (
          getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) {
                  
          $ip getenv("HTTP_CLIENT_IP");
              } else if (
          getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
                  
          $ip getenv("HTTP_X_FORWARDED_FOR");
              } else if (
          getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) {
                  
          $ip getenv("REMOTE_ADDR");
              } else if (isset(
          $_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
                  
          $ip $_SERVER['REMOTE_ADDR'];
              } else {
                  
          $ip "unknown";
              }
              return(
          $ip);

          Последно редактирано от Daniel; 24-01-13, 10:47.

          Коментар


          • #6
            От: Re: Въпросче към уеб програмистите

            Тествах първия скрипт, май бачка, въпреки, че ме препрати към реалното ип, а аз ползвам локалното...
            Там има още един проблем, след като провери ИП то направо те препраща браузъра към ип адреса, а аз исках само променя ИП към видеото...


            Сега разглеждам втория скрипт... Тои май-изобщо не зацепва, смених return с print да видя какъв е резултата и няма никои

            Коментар


            • #7
              От: Въпросче към уеб програмистите

              Първия скрипт е просто пример за обща насока. Ако искаш да се промени само ип-то на видеото в хтмл документа трябва да вградиш самият скрипт в хтмл документа ти. Нещо такова:

              <html>
              <head>
              <title></title>
              </head>
              <body>
              .............
              <?php
              if (substr($_SERVER['REMOTE_ADDR'], 0, 8 ) == "192.168.") { // или си въведи началото на ип от вътрешната ти мрежа
              $link="http://192.168.0.1/video...";
              } else {
              $link="http://80.90.100.110/video...";
              }
              ?>
              <a href="<?php=$link?>">линк към видеото</a>
              .............
              </body>
              </html>

              а втория скрипт е функция, направи така:
              echo getIP()
              и ще разбереш как да я ползваш.

              между другото на първи ред вътре във въпросната функция сложи:
              global $_SERVER;
              за да работи
              WG 2.7 CRD

              Коментар


              • #8
                От: Въпросче към уеб програмистите

                Не може ли да направиш различни view-та на днс-а: Ако пита IP от локалната мрежа, DNS-a връща локално IP, ако пита външно - външно IP?
                LZ(единица) Лима Жоро Жоро
                2002 ●||||||● Grand Cherokee Limited 4.7L и Ксантия 2000 HDi 110 коня без едно магаре.

                Коментар


                • #9
                  От: Въпросче към уеб програмистите

                  Хм, преди малко си поиграх пак, маи трябва нещо да уточня...
                  Сайта си е в интернет, а сорса е локален зад рутер. Обаче когато се прави заявка дори от локалните компютри към сайта, те също минават през gateway така, че всъщност сайта не ги вижда като локални...
                  Маи единствения вариант е да сложа на gateway-a php (тои е и сървър) и по някакъв начин да дърпан нещата от другия сайт...

                  imarh, тествах новия ти скрипт, както и да го мъчих на
                  Код:
                  <a href="<?php=$link?>">линк към видеото</a>
                  не дава резултат

                  Коментар


                  • #10
                    От: Въпросче към уеб програмистите

                    Направи View Source с броузера и виж какво с епоява на мястото на <?php=$link?>
                    WG 2.7 CRD

                    Коментар


                    • #11
                      От: Въпросче към уеб програмистите

                      Първоначално публикуван от imarh Преглед на мнение
                      Направи View Source с броузера и виж какво с епоява на мястото на <?php=$link?>
                      Оправих се. Благодаря за помощта на всички!

                      Коментар


                      • #12
                        Re: Въпросче към уеб програмистите

                        Не знам аз пак не схванах идеята ама както и да е Уеб сървера ти е с реално ип и маунтва папка от локалната мрежа или сървера ти е с нереално ип което рутираш навън, Ако сървера ти е с реално ип и компютрите го достъпват като интернет с реално ип не виждам никакъв смисъл да правиш такива магии.

                        Втория вариант е по това което пишеш да искаш да го направиш като мулти домейн - демек различни линкове с различни ип та в зависимост от това дали е реално или нереално ип то - ако е това най добре става с ДНС сървера. Защото си е при теб и всички от локалната мрежа гледат локално за всички други си е реалното. Избягват се и всички възможни грешки в пхп то и проверката на адреса.


                        Коментар

                        Активност за темата

                        Свий

                        В момента има 1 потребители онлайн. 0 потребители и 1 гости.

                        Най-много потребители онлайн 8,787 в 16:37 на 21-06-23.

                        Зареждам...
                        X