2016-06-23 2 views
0

Для нескольких клиентов сейчас у меня есть запрос скрыть функцию «Войти с Facebook» в Китае, где Facebook заблокирован. Есть несколько способов, которые я могу придумать для этого:Что происходит, когда вы пытаетесь войти в Facebook из-за отличного брандмауэра Китая?

1) Используйте локали устройства.

  • Преимущество: супер просто!
  • Недостаток: Неточно - кто-то из Китая мог установить свое устройство в en_US, а кто-то из США мог установить свой телефон в zh_CN. Нет кубиков.

2) Используйте GPS и обратное геокодирование.

  • Преимущество: Вы фактически измеряете, находится ли человек в настоящее время на территории, которую вы обозначили как «ограниченный».
  • Недостаток: требуется, чтобы пользователь предоставил вам разрешения на доступ. Непонятно, что делать в качестве резервного, если пользователь отклоняет разрешения. Некоторые приложения не используют GPS для чего-либо еще, и добавление его только для этого было бы излишним.

3) Использовать проверку достижимости до http://facebook.com.

  • Преимущество: Вы собираетесь за проверку того, что пользователь находится в произвольном месте и фактически проверяя, является ли facebook в настоящее время ограничен. Если Китай перестанет блокировать Facebook, ваше приложение начнет поддерживать его немедленно.
  • Недостаток: вы в конечном итоге скрываете пользовательский интерфейс входа в систему, если вы в автономном режиме (что может и не быть огромной проблемой, поскольку вход в Facebook не будет работать в автономном режиме независимо от того, где вы находитесь в мире).
  • Big unknown: What happens in China when you try to log into Facebook? Возвращает ли он 404? Redirect to another site? Поисковые запросы Google вокруг этого (как указано выше) просто возвращают вещи в соответствии с принципами «как обойти Великий брандмауэр», а не «вот что происходит на самом деле, когда оно заблокировано».

Итак, вопрос: Что происходит, когда вы пытаетесь войти в Facebook из-за отличного брандмауэра Китая?

+0

Я думаю, что люди в таких местах с ограниченным доступом уже знают - так зачем же пытаться скрыть кнопку входа FB из них?Тем более, что это может принести больше вреда, чем пользы, если вы скроете его от людей ошибочно, это вполне может использовать FB логин. – CBroe

+0

@CBroe это вопрос для продукта :) Они решили скрыть это, поэтому инженерии нужно скрыть это наилучшим образом ... – buildsucceeded

+0

И если в сценарии 3 вы довольны своим приложением, автоматически поддерживающим логин FB, если он останавливается блокируется, то я не понимаю, почему проблема пользователя «подделка» их местоположения (пункт 1) также была бы проблематичной - они не смогут ее использовать, потому что она заблокирована, так что, если они только «обманывают» себя "в этом отношении? – CBroe

ответ

1
  • Попытка доступа к Facebook в материковом Китае приведет к ошибке, например, 403 Запрещено или 404 Не найдено.
  • GPS Не может быть хорошей идеей, потому что сигнал GPS в Китае дрейфует, и в результате многие города, расположенные на границе, получат перекрывающееся положение GPS, включая южный Шэньчжэнь/северный Гонконг, Чжухай/Макау, NE China/Россия и тому подобное.
  • Как насчет reading the Mobile Country Code? Так что пользователи, которые используют китайскую сим-карту в своем iphone, могут быть идентифицированы, и возможность входа в facebook может быть отключена. Но этот трюк не был бы полезен для iPod/iPad. Это также затронет китайских пользователей, роуминг за пределами своей страны. Как насчет проверки того, принадлежит ли IP-адрес китайскому интернет-провайдеру?
Смежные вопросы