Подмена url-ов на странице

Тема в разделе "JavaScript", создана пользователем binh, 20 июн 2014.

Модераторы: ZiX
  1. binh

    binh

    Регистр.:
    6 сен 2011
    Сообщения:
    267
    Симпатии:
    75
    Возникла проблемка. Дано таблицу вида:
    Название документа Ссылка на документ(в виде надписи скачать)
    ссылка имеет вид http://site.com/docs/название.doc
    Как подменить ссылки так, чтобы пользователь не увидил реальный адрес документа и не смог к нему напрямую обратиться?
     
  2. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    474
    Симпатии:
    277
    Все на сервере делать надо
    PHP:
    <?php
      
    function download($filename) {
        if (
    file_exists($filename)) {
          
    /* Если файл существует */
          
    header("Content-Disposition: attachment; filename='" basename($filename) . "';"); // Указываем имя при сохранении в браузере
            
    echo file_get_contents($filename); // Отдаём файл пользователю на скачивание
        
    }
        else echo 
    "Not Found"// Если файла не существует
      
    }
      
    download("название.doc");
    ?>
    ни названия файла, ни папки, в которой находится файл, никто не увидит
     
    binh нравится это.
  3. binh

    binh

    Регистр.:
    6 сен 2011
    Сообщения:
    267
    Симпатии:
    75
    Решение отличное! Но есть в моём случае маленькие для меня непонятности:)
    1. Сайт сделан на CMS-ке, не думаю что рационально вставлять PHP код.
    2. Файлов много, нужен поиск по маске дабы ручками не вводить название download("название.doc");
    Хотелось бы такое реализовать на JavaScript
     
  4. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    474
    Симпатии:
    277
    1. А cms не на php сделана?
    Код представлен в виде функции которой передается переменная $filename, а что вы в нее запихнете, через цикл или ручками, это ваше дело. Функция получает название файла и выдает ссылку на скачивание.
    2. js выполняется у клиента, т.е. вы выдадите ссылку, а потом через скрипт будете ее шифровать? прятать?
     
    binh нравится это.
  5. snooper

    snooper Постоялец

    Регистр.:
    2 июн 2014
    Сообщения:
    67
    Симпатии:
    19
    тебе в любом случае прийдется пилить серверную часть, чтоб шифровать урл на стороне сервера.
    В другом случае ты будешь отдавать фактический урл и делать крякозябрами у клиента, что уже не позаданию

    Просто эту функцию впили в модуль для своей cms и подгрузи его. Тогда при обновлении ядра у тебя не будет проблем ни с самописным модулем, ни с ядром в будущем.

    А по поводу "вводить ручками", тебе уже написали :) ещё один скрипт с цыклом для передачи переменной с названием в функцию и тогда уже на вывод
     
  6. maestro222

    maestro222 Писатель

    Регистр.:
    11 фев 2014
    Сообщения:
    8
    Симпатии:
    0
    Здравствуйте подскажите как изменить url ссылки вставленой страници через фрейм, говорят что можно как то реализовать через JQUERY.
     
  7. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    474
    Симпатии:
    277
    js не дружит с iframe
     
  8. maestro222

    maestro222 Писатель

    Регистр.:
    11 фев 2014
    Сообщения:
    8
    Симпатии:
    0
    как тогда можно вставить содержимое одного сайта на свой и изменить при этом ссылки в содержимом
     
  9. mo.Lex

    mo.Lex Создатель

    Регистр.:
    5 окт 2014
    Сообщения:
    13
    Симпатии:
    9
    нет. изменить содержимое ифрейма нельзя
     
  10. warg

    warg Постоялец

    Регистр.:
    26 июн 2007
    Сообщения:
    122
    Симпатии:
    122
    $('#iframeID').contents().get(0).location.href = URL
    или
    window.frames['frameNAME'].document.location.href = URL