Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: безопасное хранение данных.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Zuldek
Отправлено: 13 Января, 2012 - 11:33:36
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




принимаю от юзера в форме номер телефона и email

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

Информация должна безопасно храниться в MySQL. Злоумышленники не должны видеть электронные адреса и телефоны пользователей, даже если получат доступ к исходникам или полный доступ к базе данных.

Эта часть задачи ввела в ступор.

По логике, я могу принимать эти значения и записывать их в виде хэшей. но я их хрен потом расшифрую, смогу только сверить значение мыла на соответствие хешу но телефон брать откуда?
Получается что телефоны в базе всеравно должны храниться в чистом виде (мыло берем из формы с просьбой напомнить номер телефона), а в хеше я могу хранить только пароль юзера?
В задаче и в форме вообще не упоминается про пароль юзера... видимо это не главное
 
 Top
EuGen Администратор
Отправлено: 13 Января, 2012 - 11:47:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




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


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Zuldek
Отправлено: 13 Января, 2012 - 11:51:40
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




EuGen пишет:
Если телефон нужен только для того, чтобы подтверждать что-то от пользователей, то его тоже можно записывать в хеше (например, при восстановлении пароля пользователь в форме указывает телефон, сравниваемый затем с хешем)


в задаче картинка формы с двумя полями 1. телефон 2. email 3. кнопка сабмит.
2 и последняя форма- 1 поле для ввода мыла, при вводе мыла надо выслать юзеру его телефон. больше ни слова.

- условие злоумышленник не должен видеть телефоны и имейлы пользователей при получении доступа к исходникам и бд Не понял
Как, я понимаю, при хранении в хешах и телефона и имейла выслать юзеру номер телефона по введенному им в форме имейлу невозможно. Так?
Потому что в базе в чистом виде телефон не хранится. Он хранится в хеше. Если зашифровывать его и расшифровывать только в случе совпадения мыла с хешем мыла в базе, то это задачу не решит посколкьу расшифровка будет идти в скриптах а ключ шифра так или иначе будет храниться в базе... .

А можно шифровать номер телефона используя в роли шифра само значение мыла?... Если хеш введенного мыла совпал с хешем мыла в базе, то на основе введенного значения мыла расшифровываем номер телефона. Естественно до этого номер телефона должен быть зашифрован на основе мыла. Вопрос как это сделать?
ап. библиотеками пользоваться нельзя
Вопрос зачем спрашивать не стоит это просто задача на php.

(Отредактировано автором: 13 Января, 2012 - 12:02:00)

 
 Top
LIME
Отправлено: 13 Января, 2012 - 12:31:54
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
snikers987
Отправлено: 13 Января, 2012 - 12:36:54
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Встречал такой проект на веблансе) По моему это параноя..


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
BAPBAP13
Отправлено: 30 Июня, 2012 - 17:07:06
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июнь 2012  


Помог: 0 раз(а)




http://www[dot]domfins[dot]com/

И накакая это не параноя, если что-то создал - нужно это защищать Улыбка
 
 Top
nameveiof
Отправлено: 09 Апреля, 2013 - 14:59:46
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Чтобы не создавать тему запощу здесь, проблема та же самая, но не про MySQL.

кратко:
Если существует форма аплоада то, как известно, плохо продуманная обработка выгруженных пользователем файлов подвергает опасности сайт. Могут выгрузить файлы с вредоносным кодом.
Хорошее ли решение для безопасности -- выгруженные файлы в папке upload сжимать в zip и давать своё имя + добавить рэндомный набор символов в конце (5 знаков допустим)

http://22[dot]p[dot]ht/1/page48[dot]html
вот страница, ещё буду переделывать.
-------------------------------- --------------------------
подробно:
Делаю страницу конструктор цены с формой выгрузки файлов. (файлы можно и не выгружать здесь я о варианте если выгрузят)

При нажатии отправить все данные передаются php скрипту через post

В форме выгрузки имя файла проверяется javascriptом на клиентской части на не валидные символы,
и на разрешённое расширение.

при нажатии субмита делается следующее:

1 формируется pdf в котором записаны результаты выбора
2 принимается выгруженный файл

3 pdf выдаётся юзеру с именем по которому не определить что складывается в upload например "Zakaz_#01_Vasya_pupkin.pdf"
4 выгруженный файл + pdf отправляются в почту менеджеру магазина

5 и главное выгруженный файл + pdf архивируются вместе (zip или rar) им даётся имя номер заказа_дата_время_рэндомные символы.zip
пример
"00001__09_04_2013__11_02_b3sjk.zip"

Вот такие файлы будут в папке upload.
Вопрос.
Такие меры которые я предпринимаю с точки зрения безопасности надёжны, достаточны, правильны, что то ещё можно предпринять?

Ещё думаю правильно добавить в папке upload htacess с директивой отключающей выполнение php в ней


CODE (text):
скопировать код в буфер обмена
  1.  deny from all
  2.  
  3.  <Files>
  4.  order deny,allow
  5.  
  6.  allow from all
  7.  
  8.  </Files>
  9.  php_flag engine 0
  10.  AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp
  11.  





и урезать права файлу .htacess по минимому 444 или 400
Естественно и самые минимальные для выполнения операций выставить права в папке upload

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

-------------------------------- --------------------------
Задача всего этого сделать безопасную выгрузку файлов в папку uploads, чтобы злоумышленник не мог или труднее было взломать сайт например исполнив загруженные файлы с внедрённым кодом.

Проверка на клиентской стороне конечно ничего не даёт её легко обойти. Она только для удобства клиентов.
 
 Top
Zuldek
Отправлено: 09 Апреля, 2013 - 15:18:08
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Я так понял вы визуализируете как-то pdf у себя на сайте или просто даете загружать и отдаете клиентам загруженные файлы?
 
 Top
nameveiof
Отправлено: 09 Апреля, 2013 - 15:54:55
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Zuldek пишет:
Я так понял вы визуализируете как-то pdf у себя на сайте или просто даете загружать и отдаете клиентам загруженные файлы?


спасибо за ответ

pdf генерируется с помощью tcpdf и сохраняется на сервер


Сейчас так (в случае если юзер выгрузил файл через форму)
Оба файла тупо сохраняются в папке "upload" (pdf + выгруженный как есть)
им добавляется имя порядковый номер и дата

Zakaz2013_04_07___09_40_55.pdf
#_0000000_#_2013-04-03_#_qweqweqwe.doc

потом php скрипт берёт эти файлы и
1 выдаёт юзеру pdf через браузер, как файл, чтобы сохранил
2 высылается письмо с приложениями менеджеру на почту pdf + юзерский файл
3 оставляет у себя на хранение оба файла.

Конечно в таком виде хранить нельзя.

На данный момент полностью отсутствует обработка файлов на безопасность, вот как раз я сейчас её делаю
решаю вопрос как лучше сделать, безопасное хранение.

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

И поскольку неопытен спрашиваю нормально ли это, вдруг я что то не учёл есть какие то подводные камни.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB