Как «открыть исходный код» проекта с конфиденциальными данными (Sql, оплата и т. Д.)? - PullRequest
0 голосов
/ 26 мая 2011

У меня есть вопрос ... Я создаю программное обеспечение для моего (прошлого года) школьного проекта.Проект представляет собой сочетание Steam, App Store и Ubuntu Software Center, где каждый может загружать игры, создавать и публиковать их (бесплатно или нет), синхронизировать свою музыку и слушать везде и многое другое ...

Theпроблема в том, что мне приходится иметь дело с 2 (на данный момент) важными типами данных, которые только я могу просматривать, я говорю о SQL-коде (чтобы проверить, может ли пользователь загрузить или нет что-то, если он уже заплатил за это, например), который включает в себя подключения к моему личному серверу Sql и платежи (получение и отправка денег с помощью PayPal ...).

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

Есть ли способ заставить их работать вместе: S?

Заранее спасибо, Луис Да Коста

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Чтобы решить проблему с сохранением личной информации в приложении, вот что вы делаете:

  1. Размещайте всю личную / конфиденциальную информацию в некоторый файл конфигурации / настроек
  2. Создайте файл, который является примером файла конфигурации, и назовите его <realfilename>.sample
  3. . Используйте любую используемую вами систему контроля версий, чтобы игнорировать фактический файл конфигурации (например, поместите его в .gitignore, .hgignore и т. Д.)

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

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

1 голос
/ 26 мая 2011

Извлеките все конфиденциальные данные из кода и поместите их в некую конфигурацию (текстовые файлы, локальная база данных).Кроме того, если в настоящее время у вас есть контролируемая версия этого проекта, и вы собираетесь сделать историю доступной, вы должны убедиться, что удалили эту информацию из вашего vcs

...