[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: IONCUBE, ZEND GUARD!
qari
В наше время все серьезные интернет сервисы шифруют свои исходники от глаз хостеров и от всех кому интересно их добыть! При кодировании используют в основном IONCUBE или ZEND GUARD.

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

Есть сервис который в переменных, константах использует очень секретные данные такие как API платежек, к СМС шлюзам и тому подобное!

Задача стоит скрыть эти данные!

Скрыли кодерами! Но при инклуде кодированного файла делаем до запись:


print "<pre>";
print_R(get_defined_constants());
print "</pre>";


или же вывод обычных переменных. И весь результат что под кодингом на ладони!

Как поступить в данной ситуации?



Спустя 3 минуты, 4 секунды (22.01.2012 - 21:04) redreem написал(а):
ну и что, что сам разработчик увидит эти данные?

Спустя 2 минуты, 3 секунды (22.01.2012 - 21:06) qari написал(а):
Цитата (redreem @ 22.01.2012 - 18:04)
ну и что, что сам разработчик увидит эти данные?

Вы наверное не сталкивались просто с защитой API что задаете такой вопрос!
Зная API платежек можно опустошить средства со счета это раз!

Спустя 17 минут, 46 секунд (22.01.2012 - 21:24) redreem написал(а):
хе... если вы разработчик "серьезного интернет сервиса", то просто не используйте критические данные в виде констант.

Спустя 3 минуты, 56 секунд (22.01.2012 - 21:28) redreem написал(а):
секретные данные можно каждый раз генерить находу перед использованием, а потом сразу затирать. а уж алгоритмы генерирования просто так не увидишь.

Спустя 10 минут, 4 секунды (22.01.2012 - 21:38) qari написал(а):
Цитата (redreem @ 22.01.2012 - 18:28)
секретные данные можно каждый раз генерить находу перед использованием, а потом сразу затирать. а уж алгоритмы генерирования просто так не увидишь.

то есть лучше использовать вывод API с той же функции, верно? К примеру имеем секретный ключ

$key = 'KEY';


То лучше сделать так:

function infoKEY() {
return $key = 'KEY';
}

Спустя 1 минута, 26 секунд (22.01.2012 - 21:39) redreem написал(а):
ну или даже так (упрощенно):

function infoKEY() {
$obfus = array('1' => 'E', '2' => 'K', '3' =>'Y');
return $key = $obfus['2'].$obfus['1'].$obfus['3'];
}


:) вдруг "зацепит" $key ненароком :)

Спустя 6 минут, 5 секунд (22.01.2012 - 21:45) Семён написал(а):
Если ваш код понадобиться кому-то его расшифруют.

Спустя 2 минуты, 2 секунды (22.01.2012 - 21:48) qari написал(а):
Цитата (Семён @ 22.01.2012 - 18:45)
Если ваш код понадобиться кому-то его расшифруют.

Вот в том то и дело! Но сам код как бы не особо важен как скрытие данных с API.

Спустя 3 минуты, 37 секунд (22.01.2012 - 21:51) Семён написал(а):
Боюсь что спрятать данные таким образом просто невозможно.

Спустя 4 минуты, 58 секунд (22.01.2012 - 21:56) qari написал(а):
Цитата (Семён @ 22.01.2012 - 18:51)
Боюсь что спрятать данные таким образом просто невозможно.

Подскажите хоть в какую сторону ветер дует, для скрытия дынных!

Спустя 2 минуты, 48 секунд (22.01.2012 - 21:59) Семён написал(а):
К VDS расположенном у вас под кроватью. в сундуке с цепью на эл. замке ))))

Спустя 2 минуты, 27 секунд (22.01.2012 - 22:01) redreem написал(а):
я бы сделал так:

1. стратегические куски кода обфусцированы по какому-нибудь хорошему алгоритму с открытым ключем.
2. каждому покупателю API этот кусок шифруется индивидуально и открытый ключ отдается покупателю с разъяснением, что это "секретный ключ".
3. стратегический код, генерируя транзакции "цепляет" ключ покупателя к ней.
4. если происходит инцидент - сразу будет видно, транзакции с чьим ключем в этом замешаны.
5. покупатель сам должен будет понимать чем чревата утеря ключа. подписаны соответствующие документы о разграничении ответственности по сохранности данных и последствиях.

Спустя 2 минуты, 3 секунды (22.01.2012 - 22:03) qari написал(а):
Цитата (Семён @ 22.01.2012 - 18:59)
К VDS расположенном у вас под кроватью. в сундуке с цепью на эл. замке ))))

Ну это собственно понятно! Но все же есть алгоритмы шифрования и всего прочего!

Спустя 3 минуты, 29 секунд (22.01.2012 - 22:07) qari написал(а):
Цитата (redreem @ 22.01.2012 - 19:01)
я бы сделал так:

1. стратегические куски кода обфусцированы по какому-нибудь хорошему алгоритму с открытым ключем.
2. каждому покупателю API этот кусок шифруется индивидуально и открытый ключ отдается покупателю с разъяснением, что это "секретный ключ".
3. стратегический код, генерируя транзакции "цепляет" ключ покупателя к ней.
4. если происходит инцидент - сразу будет видно, транзакции с чьим ключем в этом замешаны.
5. покупатель сам должен будет понимать чем чревата утеря ключа. подписаны соответствующие документы о разграничении ответственности по сохранности данных и последствиях.

Это хороший момент, но задача скрыть от тех кто заполучит сам файл! Хостер, кулХацкер и тд и тп.

Спустя 2 минуты, 6 секунд (22.01.2012 - 22:09) caballero написал(а):
Цитата
Зная API платежек можно опустошить средства со счета это раз!

каким образом? Чтобы что то опустошить надо иметь туда доступ а не просто знать кусок кода. Что с того что я знаю каким SQL запросом выбрать секретные данные если у меня нет доступа к БД
Цитата
Подскажите хоть в какую сторону ветер дует, для скрытия дынных!

каких именно данных? Где расположенных?

Спустя 7 секунд (22.01.2012 - 22:09) redreem написал(а):
это уже проблемы клиента со своим ключем.
ему дали "кредитку", если у него отобрали кредитку и выпытали пинкод - кто в этом виноват?

никто клиента не заставляет размещаться у "како-го то хостера". пусть берет собственный сервак.
кулхацкеры - ну шож... почитаешь новости - ломают шо угодно smile.gif неточтобы API некоего gari с phpforum'a smile.gif

Спустя 12 минут, 19 секунд (22.01.2012 - 22:21) qari написал(а):
Цитата (redreem @ 22.01.2012 - 19:09)
это уже проблемы клиента со своим ключем.
ему дали "кредитку", если у него отобрали кредитку и выпытали пинкод - кто в этом виноват?

никто клиента не заставляет размещаться у "како-го то хостера". пусть берет собственный сервак.
кулхацкеры - ну шож... почитаешь новости - ломают шо угодно smile.gif неточтобы API некоего gari с phpforum'a smile.gif

Причем здесь клиент? Есть платежная система которая подключается к автоматическому обменному пункту. Все работает через API, зная API можно со счета к которому подвязано API вывести средства (люди которые с этим работаю все прекрасно понимают)! Так вот задача скрыть эти данные!

Спустя 8 секунд (22.01.2012 - 22:22) Invis1ble написал(а):
qari
что делает данная тема в "Вакансиях"? Ты ищешь сотрудника?

Спустя 5 минут, 59 секунд (22.01.2012 - 22:28) qari написал(а):
Цитата (Invis1ble @ 22.01.2012 - 19:22)
qari
что делает данная тема в "Вакансиях"? Ты ищешь сотрудника?

Нет. Случайно написал не туда! Хотел на взаимопомощь писать. Как тему перенести?

Спустя 3 минуты, 52 секунды (22.01.2012 - 22:31) Invis1ble написал(а):
qari
Цитата
Нет. Случайно написал не туда! Хотел на взаимопомощь писать. Как тему перенести?

тебе - никак, я переместил

Спустя 8 минут, 16 секунд (22.01.2012 - 22:40) qari написал(а):
Цитата (Invis1ble @ 22.01.2012 - 19:31)
qari
Цитата
Нет. Случайно написал не туда! Хотел на взаимопомощь писать. Как тему перенести?

тебе - никак, я переместил

Спасибо.

Спустя 11 минут, 15 секунд (22.01.2012 - 22:51) vital написал(а):
Вообще-то, такие данные просто говорят только самым-самым людям, к-е подписывают NDA и получают хорошую зарплату.

Да и вообще не понятно, каким боком с этими ключами связаны программисты?
У программистов должен быть свой сервер для разработки, тестовый счет, тестовые ключи для апи. А на продакшн заливает изменения строго избранный человек, к-й см.выше, как и меняет ключи на другие, правильные.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.