Шифрование имени файла

Статус
В этой теме нельзя размещать новые ответы.

Vovandor

Создатель
Регистрация
8 Янв 2008
Сообщения
46
Реакции
2
Возник такой вопрос вот можно ли как нибудь организовать такое дело зашифровать имя файла в md5 а потом когда его выберают в списке он как бы выбиралься под настоящим именем но в списке выглядел бы как зашифрованный
 
Учить теорию - md5 не является алгоритмом шифрования.

а потом когда его выберают в списке он как бы выбиралься под настоящим именем но в списке выглядел бы как зашифрованный
Ещё раз и по русски.
 
Дело в том что я хочу сделать так чтобы понастоящему названия этих файлов некто не видел тоесть кликает на свойства картинки чел ему показываеться путь к картинки только имя картинки зашифрованно md5
 
Дело в том что я хочу сделать так чтобы понастоящему названия этих файлов некто не видел тоесть кликает на свойства картинки чел ему показываеться путь к картинки только имя картинки зашифрованно md5
А зачем именно md5?:)

Создаешь файл с названием anti_hacker.php, данный файл будет получать в переменной название файла который надо открыть, то есть так: anti_hacker.php?page=image_of_dog
Получив навзание файла, скриптом достаешь все содержимое этого файла, не сказав пользователю откуда.

Если не знаешь как, то место этой теме далеко не в PHP Pro, а скорей в PHP для начинающих;)
 
anti_hacker.php?page=image_of_dog
Получив навзание файла, скриптом достаешь все содержимое этого файла, не сказав пользователю откуда.

а если пользователь сделает запрос такого вида

anti_hacker.php?page=../../../../../etc/passwd%00

угадай какой содержимое выдаст скрипт?))


Дело в том что я хочу сделать так чтобы понастоящему названия этих файлов некто не видел тоесть кликает на свойства картинки чел ему показываеться путь к картинки только имя картинки зашифрованно md5

А смысл? мб тогда проще итак хэшировать имя картинки и пусть она так и лежит? зачем тебе вообще настоящее имя? если уж так хочется, то можно например в БД хранить название картинки и ее хэш. но тут будешь ломать голову над алгоритмом как эту картинку выдавать...
 
anti_hacker.php?page=../../../../../etc/passwd%00
угадай какой содержимое выдаст скрипт?))
Если выдаст то что ты думаешь, то программисту надо руки отбить, и послать заново все учить.

Я вообще то не предлагал пихать переменную $_GET['page'] в какой то там file_get_contents. В скрипте за каждым названием файла находится путь, то есть к примеру для "image_of_dog" будет ../anti_haker_asdf/images/dog.jpg. А если ничего не будет, то функцию file_get_contents вообще не выполнять.
 
В скрипте за каждым названием файла находится путь, то есть к примеру для "image_of_dog" будет ../anti_haker_asdf/images/dog.jpg. А если ничего не будет, то функцию file_get_contents вообще не выполнять.

насколько я понял тебя, ты предлагаешь замутить проверку на существование локального файла? типо так?
PHP:
file_exists('../anti_haker_asdf/images/'.$_GET['page'].'.jpg')

но как я уже дал выше

anti_hacker.php?page=../../../../../etc/passwd%00

и все, можно будет прочесть любой файл, ноль обрежит правую часть и относительный путь до файла passwd, вернет true в проверке.

как-то так(с)

Вообще, какой смысл делать нагрузку, отдавая изображения через пхп? мб проще сменить алгоритм?
 
PHP:
file_exists('../anti_haker_asdf/images/'.$_GET['page'].'.jpg')
и все, можно будет прочесть любой файл, ноль обрежит правую часть и относительный путь до файла passwd, вернет true в проверке.
Мдя. Объясняю на пальцах:
PHP:
switch($_GET['page']):
    case 'image_dog': 
        $path = "/anti_haker_asdf/images/dog.jpg";
    break;
    case 'movie_dog': 
        $path = "/anti_haker_asdf/movies/dog.avi";
    break;
    case 'game_dog': 
        $path = "/anti_haker_asdf/games/dog.swf";
    break;
endswitch;

if(!isset($path)) die("Файл не найден.");

Если файлов очень много и все время появляются новые - то можно создать таблицу в базе данных, вместе с названиями файлов(к примеру "image_dog") и их путями(к примеру "/anti_haker_asdf/games/dog.jpg").

И не надо говорить что ты меня не правильно понял;)
Идея была понятна - скрипт получает название файла(или к примеру id), и судя по названию узнает путь к файлу. А то что делать file_get_contents($_GET['page']) мягко говоря неумно, должно быть всем понятно(по крайней мере в разделе PHP Pro).
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху