Сервис скрытия ссылок , нужна помощь

Тема в разделе "PHP", создана пользователем Rama-bak, 31 июл 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Rama-bak

    Rama-bak

    Регистр.:
    22 апр 2007
    Сообщения:
    206
    Симпатии:
    52
    Подскажите, пожалуйста алгоритм создания и работы сервиса скрытия ссылок как http://lix.in/, если есть код, то выложите, для изучения.

    Я так понял, для начала создается, форма, а оттуда, производится запись в базу, в соответствующую таблицу, где заменяется редиректом. Или чем?
    Но не понял как, она от туда берется, сам алгоритм.
    И как лучше всего это оптимизировать?

    Спасибо.
     
  2. the_stalker

    the_stalker Постоялец

    Регистр.:
    19 фев 2007
    Сообщения:
    116
    Симпатии:
    3
    Тут пхп скрипт подгружает страницу с помощью сокетов или курла

    Добавлено через 3 минуты
    Решил сделать всю работу по поиску за тебя =)))
    PHP:
    function load_page($url) {
        
    $ch curl_init();
        
    curl_setopt($ch,CURLOPT_URL,$url);
        
    curl_setopt($ch,CURLOPT_TIMEOUT,60);
        
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        
    $page curl_exec($ch);
        if (!
    $page) {
            echo 
    curl_error($ch)."<br>";
        } else {
            return 
    $page;
        }
        
    curl_close($ch);
    }

    echo 
    load_page($_GET['url']);
     
  3. gregzem

    gregzem

    Регистр.:
    21 окт 2007
    Сообщения:
    200
    Симпатии:
    63
    Они вроде просто через редирект делают,
    PHP:
    header('Location: ...'
    По крайней мере у меня перебросил на оригинальный урл.
    Урл однозначно сохраняется в базе, а ID записи скорее всего и есть то, что после /-.

    http://lix.in/-252951
     
  4. Rama-bak

    Rama-bak

    Регистр.:
    22 апр 2007
    Сообщения:
    206
    Симпатии:
    52
    the_stalker правильно ли я понял, после того , как скрываемая ссылка прописана в базе, под последовательно сформированную ссылку типа ссылка номер 20010, затем с помощью приведенного тобой кода, при использовании новой сокращенной ссылки , из базы берется спрятнанная ссылка и через редирект перенаправляется. Так?

    gregzem, так если не правильно составить алгоритм, то при большом обращении редирект станет нагружать сервер и сайт не сможет полноценно работать, верно?
     
  5. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    загружать страницу по совету the_stalker в данном случае --бред. Имо то ты точно повесить хост можешь

    кратко:Жесли скрипт получил POST -- обрабатываешь данные:заносишь в таблицу
    |ID|URL|
    ID - автоинкремент
    и выдаешь пользователю линк с ID

    если получил GET -- обрабатываешь данныке: берешь из таблицы URL с заданным ID и делаешь редирект ( хочешь headers хочешь META или еще как-нибудь ) ( как сказал gregzem )

    элементарный алгоритм. В чем вопрос ?
    на каждый url 1!!! простой sql запрос
     
  6. the_stalker

    the_stalker Постоялец

    Регистр.:
    19 фев 2007
    Сообщения:
    116
    Симпатии:
    3
    Дурацкий сервис не понимаю что он делает? заменяет реферер на http://lix.in/-2e5a81 и где смысл?
     
  7. gregzem

    gregzem

    Регистр.:
    21 окт 2007
    Сообщения:
    200
    Симпатии:
    63
    Объяснение только одно - борьба со ссылочным ранжированием цитируемых ресурсов :)

    Rama-bak, 1 SQL еще никого не перегрузил. А вот вытягивать контент страницы - за это обычно могу закрыть хост, потому что

    - входящий трафик на сайт выше исходящего в разы
    - действительно, нагрузка идет на сервер нехилая за счет высасывания через сокет данных с других адресов. Тут выходит и резолвинг имени, и работа с сокетами, и тот же запрос к БД для маппинга URL). Да еще и удаленный сервер может тормозить.

    Как вариант - юзать статус 301 Permanently Moved. Тогда по идее URL не будет меняться в строке браузера. Хотя с точки зрения SEO для lix.in это не гуд.
     
  8. Rama-bak

    Rama-bak

    Регистр.:
    22 апр 2007
    Сообщения:
    206
    Симпатии:
    52
    ZCFD
    Не спорю, просто как реализовать правильно, не знаю.:confused:

    the_stalker Смысл, в том что бы прятать ссылки и сокращать.
    К примеру, есть классная тема, которую нужно раскидать по инету, но не все доски и подобное принимают длинные ссылки.
    К тому же прятать рефферальные ссылки, как заметил gregzem , отчасти борьба, а с другой стороны возможность закинуть куки с редиректируемого сайта. Сейчас большинство обрезает нафиг реф ссылки. Поэтому многие , вебмастера , кто работает с партнерками, прячут х.
    Основное назначение прятать.


    gregzem
    Вот это и смущает, что может пойти большая нагрузка.
    В связи с этим и интересуюсь, как это все правильно и оптимизированно сделать.

    I`m just a bigginer, U know.:)
     
  9. Rama-bak

    Rama-bak

    Регистр.:
    22 апр 2007
    Сообщения:
    206
    Симпатии:
    52
    Вот начал с формы
    Код:
    <form action="/form.php" method="post" id="form" onsubmit="make(); return false;">
      <div id="posting" style="font-size:12px;">Введите ссылку, которую надо спрятать:</div> 
    Сюда form.php будут передоваться данные с формы .
     
  10. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    и ?
    ,или ты хочешь что бы мы продолжили ?
     
Статус темы:
Закрыта.