В css к модальному окну пропишите
position: fixed;
Что за браузер-то? Как на других сайтах - все работает?
// уникальный токен пользователя $token = sha1($_SERVER['HTTP_USER_AGENT'] . $_SERVER['REMOTE_HOST'] . $_SERVER['HTTP_ACCEPT ']);// случайный ключ $key = sha1(microtime() . mt_rand(10, 9999) . '%' . $token);// хеш функция от ключа и токена пользователя $hash = getHash($token, $key); function getHash($token, $key){ return md5($token . '%somethingelse' . $key); }
Теперь ссылка на файл выглядит следующим образом:
/getfille/[KEY]/[HASH]/[FILE_ID]/
А при скачивании файла, проверяете, сходится ли [HASH] с хешем, который получается при использовании вашей хеш функции:
//$token - генерируется скриптом так же с учетом $_SERVER-элементовif ([HASH] == getHash($token, [KEY]){}
P.S. Все можно довесить еще дополнительными javascript-обработчиками, чтобы токен был максимально уникальным.
Про то, что любого пользователя можно очень точно идентифицировать - https://panopticlick.eff.org/
P.S.S. Зачем поддерживаете старые браузеры?
1. Проверять заголовки
2. Генерировать не прямую ссылку, а с ключом, где ключ - результат хеш-функции от браузера.
3. Отправлять ссылку на почту, с просьбой открыть ее в том браузере, в котором загружали картинку
4. Для пущей важности использовать localStorage
Там разбираться надо. Скорее всего надо либо создать общий какой-то файл, либо сделать копии файлов под конкретные виды.
У вас views? Если да - то скорее всего файлы темы не те подхватываются.
Отделите название таблицы от поля следующим образом:
Написано на ASP.Net похоже. Готовых решений под него не знаю, возможно самопис.
Попробуйте поменять юзер-агент на более актуальный + вообще менять по-переменно.
Ну и еще, помимо кук - яндекс.маркет ставит метки в localStorage, как это эмулировать - я пока не в курсе.
Я согласен с вами :) Просто как критику данного метода озвучил )