Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Где можно безопасно хранить файлы на сервере? И как их безопасно выдать покупателю? 
:(
    Опции темы
ukrsonic
Дата 18.1.2008, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.11.2007

Репутация: нет
Всего: 1



Здравствуйте,

я ищу безопасный способ хранения фалов на сервере.

Речь идет о платных клипартах. Как лучше избежать хищения файлов с сервера? Даже если сайт взломают.

В настоящий момент, файлы храню за пределами корневой папки сайта... $_SERVER['DOCUMENT_ROOT'].'/../files/';

но както это не очень убедительно. Думаю может стоит считать картинки в датовкие файлы, зашифровать содержимое в файле, чтобы если даже файлы украдут сделать с ними ничего нельзя было или хотябы гемора много было.

Пока писал вопрос, нарисавался простой код в голове 
Код

/* считываем содержимое фотки */
$fp=fopen($image, "r");
$image_data=fread($fp,filesize($image));
fclose($fp);

/* шифруем контент фотки заменя фрагменты своим уникальным ключем */
$encoded_data = str_relace('a', '{%%MARK112245%%}', $image_data); // заменяем все знаки 'a' в контенте на свой ключ '{%%MARK112245%%}' 
// каждой фотке можно присваивать уникальный ключ, который потом можно будет хранить в базе mysql 

/* записуем зашифрованный контент в .dat файл */
$fw = fopen($_SERVER['DOCUMENT_ROOT'].'/../files/image.dat', "w"); // создаем датовский файл за пределами корневой папки
fputs($fw, $encoded_data);
fclose($fw); 


PHP сценарий расшифровующий файлы и генерирующий фотки обратно в нормальный вид, можно хранить в базе mysql, чтобы создать еще больше гемора злоумышленникам.
 
Короче при покупке фотки, происходило бы следующее:
1. из базы вытаскивался бы скрипт для расшифровки датовских файлов
2. скрипт будет брать ключ из базы данных и делать с ним дешифровку контента фотки
3. после дешифровки, скрипт генерирует нормальный jpeg файл и выдает ссылу клиенту.

Короче я тут намудрил, но думаю это все возможно теоретически.

Хотелось бы услышать Ваши рекомендации по поводу зашиты файлов от кражи.
Может существуют проверенные опытом методы хранения файлов?

Благодарю заранее! smile  

Интересно как хранят свои фотки фотобанки типа fotolia.com и т.п. ?

Это сообщение отредактировал(а) ukrsonic - 18.1.2008, 23:59
PM MAIL   Вверх
Staind
Дата 19.1.2008, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 17.12.2007
Где: Планета сокровищ

Репутация: 2
Всего: 3



Для начала поставить ЧМОД 0600 (если не ошибаюсь именно так) для всех секретных файлов, а "отдавать" легальному юзеру файлы посредством php скрипта. P.s. Еще в той папке, где лежат Ваши файлики, создайте пустой файл с названием+расширением: index.html (не обязательно, но всеже).
--------------------
Ничто так не раздражает человека, как просьба успокоиться
PM MAIL WWW ICQ   Вверх
ukrsonic
Дата 19.1.2008, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.11.2007

Репутация: нет
Всего: 1



Цитата(Staind @ 19.1.2008,  00:13)
Для начала поставить ЧМОД 0600 (если не ошибаюсь именно так) для всех секретных файлов, а "отдавать" легальному юзеру файлы посредством php скрипта. P.s. Еще в той папке, где лежат Ваши файлики, создайте пустой файл с названием+расширением: index.html (не обязательно, но всеже).

а можно закодировать файлы както? Если вдруг сервак ломанут.

Я думал делать ZIP и ставить пароль на архив файла, но это при желании можно взломать.

Может както разбивать файл на куски или есть другие методы? 
PM MAIL   Вверх
onsql
Дата 19.1.2008, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 3.12.2007

Репутация: нет
Всего: 3



То как ты хочешь зашифровать - это метод простой замены, его открыть несложно, например купив у тебя расшифрованый файл а потом взомав сервак (ну мы предполагаем что злоумышленнику это как два пальца об асфальт smile сравнить с зашифрованным, чтобы получить таблицу подстановок.

Можно зашифровать стандартными алгоритами, ну например 3DES или ещё чего, но тогда возникает вопрос. Ведь твой код должен уметь расшифровывать файлы, чтобы отдавать их юзеру? А как он их расшифрует, не зная ключей? Значит и ключи должны лежать на сервере? Значит, злоумышленник, взломав сервер, получит доступ к ключам...

Добавлено через 1 минуту и 12 секунд
Ха... А взомав сервак при твоем методе шифрования таблицу подстановки можно прямо из кода взять smile)

Добавлено через 5 минут и 21 секунду
Если уж шифровать то тогда не только данные, но и код. используя например Zend Optimizer или ionCube. От настырного взломщика это врядли защитит, но большинство плюнут и остановятся.

Токо тут ещё вопрос. Окупятся ли усилия, потраченные на создание защиты? Например продукты для защиты php скриптов платные, да и разработку требование шифрования усложнит...
PM MAIL   Вверх
ukrsonic
Дата 19.1.2008, 00:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 29.11.2007

Репутация: нет
Всего: 1



Цитата(onsql @ 19.1.2008,  00:39)
То как ты хочешь зашифровать - это метод простой замены, его открыть несложно, например купив у тебя расшифрованый файл а потом взомав сервак (ну мы предполагаем что злоумышленнику это как два пальца об асфальт smile сравнить с зашифрованным, чтобы получить таблицу подстановок.

Можно зашифровать стандартными алгоритами, ну например 3DES или ещё чего, но тогда возникает вопрос. Ведь твой код должен уметь расшифровывать файлы, чтобы отдавать их юзеру? А как он их расшифрует, не зная ключей? Значит и ключи должны лежать на сервере? Значит, злоумышленник, взломав сервер, получит доступ к ключам...

Добавлено @ 00:40
Ха... А взомав сервак при твоем методе шифрования таблицу подстановки можно прямо из кода взять smile)

Добавлено @ 00:44
Если уж шифровать то тогда не только данные, но и код. используя например Zend Optimizer или ionCube. От настырного взломщика это врядли защитит, но большинство плюнут и остановятся.

Токо тут ещё вопрос. Окупятся ли усилия, потраченные на создание защиты? Например продукты для защиты php скриптов платные, да и разработку требование шифрования усложнит...

ты говоришь все верно! я бы и сам такое расшифровал бы без проблем... если бы знал что и где лежит... на первый взгляд злоумышленнику будет геморно все раскопать... нада в базу лезть, потом раскодировать и т.п. но все реально..

может иеи есть у кого по лучше? не стесняйтесь люди добые  smile

Добавлено через 3 минуты и 40 секунд
Что касается безопасности файлов, я тут еще одну тему открыл может посоветуете чтонидь еще?
http://forum.vingrad.ru/forum/topic-192007...-file-info.html
PM MAIL   Вверх
Staind
Дата 19.1.2008, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 17.12.2007
Где: Планета сокровищ

Репутация: 2
Всего: 3



Цитата

а можно закодировать файлы както? Если вдруг сервак ломанут.

На сколько мне извесно - нет, если только не воспрользоваться возможностями самого архиватора. Еще можно скомбинировать: будем на архивы пароли ставить и грамматно настроим чмод. Тогда, в случае слива файлов злоумышленник еще ИЛИ должен почесать репу над алгоритмом паролей ИЛИ хакнуть базу, где пароли все хранятся. Я не профессионал в php и даже не обычный, только сам начал. Возможно люди завтра (а точнее уже сегодня) дадут Вам несколько хороших советов. Но для меня вот выше описанный способ вполне устроел бы.

Это сообщение отредактировал(а) Staind - 19.1.2008, 02:47
--------------------
Ничто так не раздражает человека, как просьба успокоиться
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.