Я могу разработать свою собственную объективную-C Платформу для Сенсорных Приложений Какао?

Существует три фактора аутентификации:

  1. пользователь А знает что-то (т.е., пароль)
  2. , пользователь А имеет что-то (т.е., брелок)
  3. , пользователь А что-то (т.е., сканирование сетчатки)

Обычно, веб-сайты только осуществляют политику № 1. Даже большинство банков только осуществляет политику 1. Они вместо этого полагаются, "знает, что что-то еще" приближается к двухфакторной аутентификации. (IE: пользователь знает их пароль и девичью фамилию их родительского элемента.), Если Вы можете, способ добавить во втором факторе аутентификации не является слишком трудным.

, Если можно генерировать приблизительно 256 символов случайности, Вы могли бы структурировать это в 16× 16 таблиц, и затем просят, чтобы пользователь дал Вам значение в таблице ячейки A-14, например. Когда пользователь подпишется или изменит их пароль, дайте им таблицу и скажите им печатать ее прочь и сохранять ее.

трудность с тем подходом состоит в том, что, когда пользователь забывает их пароль, как они будут, Вы не можете только предложить стандарт, "отвечают на этот вопрос и вставляют новый пароль", так как это уязвимо для "в лоб" также. Кроме того, Вы не можете сбросить его и послать им по электронной почте нового, так как их электронная почта могла быть поставлена под угрозу также. (См.: Makeuseof.com и их украденный домен.)

Другая идея (который включает котят), то, что BOA называет SiteKey (я полагаю, что они регистрировали имя как торговую марку). Кратко, Вы сделали, чтобы пользователь загрузил изображение, когда они регистрируются, и когда они пытаются войти в систему, попросите, чтобы они выбрали свое изображение из 8 или 15 (или больше) случайные. Так, если пользователь загружает картинку их котенка, теоретически только они знают точно, какое изображение их из всех других котят (или цветы или безотносительно). Единственный реальный vunerability, который имеет этот подход, является атакой "человек посередине".

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

Редактирование, Новая Идея:

Другой способ проверить попытки входа в систему состоит в том, чтобы проверить, произошел ли пользователь из Вашей страницы входа в систему. Вы не можете проверить ссылающиеся домены, так как они могут легко фальсифицироваться. То, в чем Вы нуждаетесь, должно установить ключ в _SESSION var, когда пользователь просматривает страницу входа в систему, и затем проверьте, чтобы удостовериться, что ключ существует, когда они отправляют свои данные для входа. Если бот не отправит от страницы входа в систему, то он не сможет войти в систему. Можно также упростить это путем вовлечения JavaScript в процессе, или при помощи его для установки cookie, или добавления некоторой информации к форме после того, как это загрузилось. Или, можно развестись, форма в два различных отправляет (т.е., пользователь вводит их имя пользователя, отправляет, затем на новой странице вводит их пароль, и отправьте снова.)

ключ, в этом случае, является самым важным аспектом. Общепринятая методика генерации их является некоторой комбинацией данных пользователя, их IP, и время, это было отправлено.

19
задан Sinan Ünür 20 August 2009 в 04:35
поделиться

6 ответов

Вы можете создать статическую библиотеку. В средстве выбора проекта XCode есть опция для этого. Вам нужно будет распространить скомпилированный файл статической библиотеки и файлы заголовков пользователям вашей библиотеки. Ваши фактические файлы реализации (.m) не нуждаются в распространении.

GHUnit отлично справляется с этой задачей - упаковывает библиотеки как для симулятора, так и для устройства - поэтому я рекомендую взглянуть на этот проект. (Я также рекомендую использовать эту библиотеку для модульного тестирования: -)

14
ответ дан 30 November 2019 в 03:16
поделиться

Фреймворки в Objective C обычно представляют собой просто код C / ObjC и набор классов, ничего удивительно особенного. Таким образом, вы можете создать свой собственный, если хотите, а затем просто включить его в свой проект при его создании. IPhone не заботится о разнице, он просто знает, как поместить весь этот код в ваше приложение вместе со всем остальным.

Взгляните на Руководство по программированию Framework на веб-сайте Apple. Это поможет вам начать. По сути, вы создадите проект Framework в XCode, а затем перейдете оттуда.

Что касается «защиты» вашей структуры, я предполагаю, что вы имеете в виду сделать свой код нечитаемым. Я не уверен, можно ли и как это сделать, но, возможно, руководство Apple что-то скажет об этом.

6
ответ дан 30 November 2019 в 03:16
поделиться

Взгляните на рабочий пример для статических библиотек, приведенный на этот сайт

1
ответ дан 30 November 2019 в 03:16
поделиться

Вы можете сделать статическую библиотеку доступной как двоичную (т. Е. Элементарную «защиту») третьим лицам, но не как динамическую, поскольку политика Apple App Store предотвращает динамическое связывание.

2
ответ дан 30 November 2019 в 03:16
поделиться

Маловероятно, что это будет работать так, как вы хотите, потому что другие разработчики не смогут использовать ваш фреймворк. Этот вопрос StackOverflow объясняет, почему.

-2
ответ дан 30 November 2019 в 03:16
поделиться

Если вы собираетесь это сделать, то, на мой взгляд, JSON.framework - отличный пример для подражания. Скрыть / запутать исходный код - это отдельная история и совсем другой вопрос,

0
ответ дан 30 November 2019 в 03:16
поделиться