PDA

Просмотр полной версии : сохранение в базе в закодированном виде


stoun
24.09.2008, 22:25
Добрый день.

Столкнулся с такой задачкой.
Нужно на определенных страницах сайта на typo3 выкладывать финансовую информацию.
Страницы эти находятся под логином.

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

Может кто сталкивался с такой задачей?

Буду рад любому совету или помощи (безвозмездной и возмездной :)

surfman
02.10.2008, 00:04
А какой смысл в md5. Ведь, если я не ошибаюсь, данные не могут раскодироватся обратно из md5. Тоесть это шифровка только в одну сторону.

А разве ограниченого доступа к станицам не хватает?

stoun
02.10.2008, 00:43
ну не md5, а каким-то другим способом, позволяющим расшифровывать данные обратно.
главное, чтобы получив доступ к базе, невозможно было прочитать контент этих страниц.

речь идет именно о защите данных в базе на случае, если ее украдут.

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

это конечно не 100% защита, но украсть такую информацию намного сложнее.

Andrey Grey
02.10.2008, 04:22
не намного сложнее...
в общем готового решения нет.
скажу что можете использовать тайпу в этом. данные из РТЕ можно сделать чтобы шифровались и дешифровались при занесении в БД. имхо это не оченьб сложно сделать. нужно выбрать метод шифрования быстрый (читай наимение защищенный) и образное декдирование при выводе в ФЕ.
для плагинов на сайте придется дописывать их. и это существенную проблемы вызовит.
сам не делал, но имхо шифрование ТТ_сонтент можно через css_styled_conten+ скрипт шифровки\дешифровки.
но вопрос: "а смысл?" всеравно остается.

stoun
02.10.2008, 11:19
звучит оптимистично :)

теперь вопрос, кто возьмется... есть желающие? готов рассмотреть предложения!

Andrey Grey
02.10.2008, 12:18
найдите скрипт, который бы быстро шифровал и дешифровал и можно попробовать

Andrey Grey
02.10.2008, 12:19
но учтите страницы всеравно будут долго загружаться.... и скорость загрузки будет зависеть от объемов текста напрямую.

stoun
02.10.2008, 13:14
скорость загрузки в данном случае не играет роли

важно: не все, а только определенные страницы должны содержать такой контент. Я думаю, это можно решить через новый элемент контента.

Скрипта такого к сожалению не знаю.

Предлагаю это выполнить как законченную работу. Готов за нее заплатить.
- подыскать подходящий шрифт (желательно бесплатный, opensource)
- написать Ext, который будет выглядеть как новый элемент контента и будет зашифровывать текстовые данные при сохранении в базу и расшифровывать при выводе.

Я ничего не забыл? :)

maaboo
02.10.2008, 14:41
Я вам как немножечко занимающийся безопасностью скажу - бросьте это глупое занятие. Лучше защитите базу на должном уровне. Вложение сил и средств в шифрование (обратимое!) в данном случае считаю неуместным.

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

Оно вам надо?

stoun
02.10.2008, 15:19
это пожелание моего заказчика и одно из условий, при котором Typo3 будет использоваться в его сети...

скорость вывода информации в данном случае большого значения не имеет

Pavel Antonov
02.10.2008, 20:12
Если задача защитить информацию на диске (что бы нельзя было ее прочесть при изъятии оного), то я бы рекомендовал сделать на сервере зашифрованный раздел (такие средства есть в любой операционной системе).

Шифровать базу, если программа все равно будет оперировать расшифрованными данными (и ее можно соответственно ломануть) - идея лишенная смысла...

Не будьте Джамшутом, включите голову и обсудите все таки вопрос безопасности с клиентом...

Valery Romanchev
02.10.2008, 22:09
можно делать решение из серии "повесить на сарай замок" (при этом понимая и объясняя клиенту, что такой замок срывается за 5 сек при наличии фомки).

например, шифровать все данные при помощи функций mysql AES_ENCRYPT() (http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html#function_aes-encrypt) and AES_DECRYPT() (http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html#function_aes-decrypt) а в качестве ключа использовать строку, котора будет отдаваться пхп функцией, лежащей в зазенденом файле (еще можно ее привязать к железу)