Закрытие доступа к изображениям ( платные фото)

Тема в разделе "Как сделать...", создана пользователем chang, 13 июл 2010.

Статус темы:
Закрыта.
  1. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    Здравствуйте

    на сайте есть фотоальбом
    необходимо для некоторых альбомов сделать платные фото

    как заблокировать доступ к конкретным фоткам чтоб их не могли посмотреть введя URL в строку адреса?
    при условии что платные / бесплатные фотки грузятся в одну и ту же директорию
    в этой же директории есть миниатюры, которые нужно всегда показывать
    да и названия миниатюр и полноразмерных изображений фиксированные, вида:
    thumb_userId_imgID_id.jpg
    full_size_userId_imgID_id.jpg

    => путь и имя картинки можно легко прикинуть ...

    айдишки фотоко и призак платности хранится в БД

    как с минимальными телодвижениями защитить платные фото?
     
  2. alfaexpert

    alfaexpert

    Регистр.:
    23 июл 2008
    Сообщения:
    183
    Симпатии:
    27
    Пишется php скрипт с примерной такой структурой

    файл get_image.php (для примера)

    PHP:

    <?php

    require "auth.php"
    #авторизация пользователя


    #код для вывода картинки в браузер по id_photo



    ?>
    путь до картинки будет примерно такого вида /get_image.php?id_photo=777050


    Если пользователь авторизован скрипт прочитает из скрытого места картинку.
    Если не авторизован браузеру нужно подавать команду на страницу авторизации
    Картинки можно хранить в папке, которая полностью закрыта для доступа из веб сервера и если мощности позволяют можно запихать все это даже в mysql базу
     
  3. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
  4. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102

    перенеси тему в раздел ЧПУ, тебе туда
     
  5. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    alfaexpert
    должно подойди ... но есть небольшие затруднения
    все изображения пользователь хранятся в 1 каталоге, причем изображения от разных модулей ( блог/доска какая-то обьявлений/...) которые скрывать ненужно => закрыть полностью директорию не получиться, а изменять в каждом модуле способ вывода изображения очень бы не хотелось [CMS Skadate - там все достаточно хитро сделано]

    и хранить картинки в БД тож не вариант -(
    видать таки прийдется платную галерею делать полностью независимой =((

    Google.com
    оплата идет через внутреннюю валют, некоторые псевдо "кредиты"

    diavolic
    а это то здесь причем?
     
  6. alfaexpert

    alfaexpert

    Регистр.:
    23 июл 2008
    Сообщения:
    183
    Симпатии:
    27
    chang
    Все картинки в одной папке как то не особо фонтан.
    там подпапки есть ? если их нет то что будет если 5000 файлов туда загрузить?
    как минимум будет очень плохо заходить в такую директорию по фтп.

    Если директории и поддиректории в движке то нужно закрыть конечную поддиректорию
     
  7. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    все картинки которые загружают пользователи из любого "модуля" (блог/ форум/галерея ...) хранятся в 1 папке (без вложенных каталогов) (+ их "копии" в виде миниатюрок разных размеров) .... сейчас в этой папке 20000+ изображений ...

    ЦМС лежит на дедике так что со скоростью доступа пока еще проблем нет
    ------------------------
    видать придется изменить модуль загрузки изображений в альбомах, дабы платные фотки хранить в закрытом каталоге :(

    если есть более простые и хитрые способы рад буду услышать
     
Статус темы:
Закрыта.