Kindergate метод вернул ошибку

Общая статистика

Загрузок всего 22 917
Загрузок за сегодня 0
Кол-во комментариев 17
Подписавшихся на новости о программе 1 (подписаться)

Оцените программу!
4.23 из 5, всего оценок — 39

  • Рейтинг программы — 4.23 из 5
  • 1
  • 2
  • 3
  • 4
  • 5

Распределение оценок программы

крокодил про KinderGate Родительский Контроль 3.2 [29-01-2022]

как удалить это зло?
1 | | Ответить

Роман про KinderGate Родительский Контроль 3.2 [08-06-2017]

Поставить программу Adguard,включить в ней родительский контроль и забыть про эти проблемы.Проверенно на себе,работает на 100%
2 | 5 | Ответить

Дим про KinderGate Родительский Контроль 3.1 [15-07-2016]

Мне тоже не понравилось…собственное чадо жалко.
Снес.
Теперь мучаюсь чего выбрать Time Boss или KidsControl.
3 | 4 | Ответить

Таша про KinderGate Родительский Контроль 3.1 [13-02-2016]

Одну головную боль с этой программой нашла себе. Установили на ноутбук — ни на один сайт нельзя выйти, удаляться не хочет даже с помощью деинсталяторов. Кошмар!
5 | 7 | Ответить

Сергей про KinderGate Родительский Контроль 3.1 [29-12-2015]

Ужасно! Поставил знакомой, тестовый период истек, пароль не признает, удалить никак нельзя
3 | 4 | Ответить

nina про KinderGate Родительский Контроль 3.1 [08-09-2015]

ничего не понимаю скачала,установила и все заблокировалось,настроить ничего не могу,просит пароль,отключить или удалить невозможно!!что это еще за вирус??что за навязывание своей программы?
7 | 7 | Ответить

Алёна про KinderGate Родительский Контроль 3.1 [06-02-2015]

Я вообще использую Ammyy Admin для контроля. Это программа удаленного доступа с функцией родительского контроля. Главное в ней то, что ее можно скрыть (при правильных настройках). А еще то, что с помощью нее можно подключаться из любого места в любое время. Я всегда в курсе того, чем занимается мой ребенок, даже если я в командировке.
3 | 4 | Ответить

Александр про KinderGate Родительский Контроль 3.1 [30-10-2014]

Рад, что остановил выбор на нашей российской программе. Сам долго проверял после установки. все здорово работает.
2 | 9 | Ответить

Дмитрий про KinderGate Родительский Контроль 1.5 [08-04-2014]

Установил недавно вышедшую новую версию 3.0 — очень рекомендую. Как все правильно настроишь, под себя, работает отлично.
2 | 2 | Ответить

Михаил про KinderGate Родительский Контроль 1.5 [18-03-2014]

Отличная программа. Даже и придраться не к чему. В самом начале только повозиться пришлось, чтоб все настроить как надо мне. А потом, все забыл и успокоился за ребенка. Все под контролем.
2 | 2 | Ответить

Екатерина про KinderGate Родительский Контроль 1.5 [04-03-2014]

Долго изучала, что поставить. Выбрала KinderGate. Ни капельки не пожалела. Работает исправно, главное- правильно все настроить. У меня вначале тоже были проблемы, как разобралась с настройками, все заработало на ура.
2 | 2 | Ответить

Andrey про KinderGate Родительский Контроль 1.5 [06-02-2014]

Не покупайте, купили для школы, некоторые заявленные функции не работают, с регистрации проблемы, блокирует все подряд, работает не корректно, интернет тормозит, пример ответа поддержки:
Зарегистрированный продукт выполняет требования законодательства. Запрещённые сайты добавляются в список автоматически. Функция выполнена в версии 3.1. В версии 3.0 она есть, но с дефектом.
Разговор был про кластерный тип установки.
6 | 8 | Ответить

Александр про KinderGate Родительский Контроль 1.5 [22-01-2014]

такой отстой тормозит всё что можно и не удаляется
3 | 2 | Ответить

Олег в ответ Александр про KinderGate Родительский Контроль 1.5 [18-03-2014]

Да, читать и вникать в инструкции никто не хочет. Это и понятно. Но так не всегда бывает, что купил и все заработало. Я сразу настроился, что потрачу время на установку, разберусь. Поэтому у меня претензий к этому продукту нет. В общем, надо время и отбросить эмоции.
2 | 2 | Ответить

Сергей про KinderGate Родительский Контроль 1.5 [25-04-2013]

По просьбе знакомой купил данный продукт (у нее маленкий ребенок) сразу на 2 года, После установке перестал запускаться WINDOWS , запускался только в безопасном режиме, удалось востановить только через точку востановления, 4 раза пробовал переставлять, результат один и то же. Softkey деньги вернуть отказался а в службе поодержки предложили снова завалить винду (это на чужом компьютере!!!) и запустить прогамму сбора информации для того чтобы что нибудь сделать… У них и специальный EXE для этого есть… Вообщем если не хотите участвовать в тестировании сырого продукта за Ваши же деньги не покупайте KinderGatre!!!!
4 | 2 | Ответить

AGR про KinderGate Родительский Контроль 1.5 [26-03-2013]

Если включено правило блокировки видео-контента, обычные страницы грузяться без проблем, заходим на ютуб, запускаем проигрывание видео и ни на одну страницу уже зайти нельзя.. Такое ощущение, что блокировка контента происходит путем понижения скорости инета как такового. Через некоторое время инет оживает.
2 | 2 | Ответить

serj про KinderGate Родительский Контроль 1.5 [23-11-2012]

блокирует все что надои ненадо.Интернет тормозит!
5 | 2 | Ответить

Обновилась программ под названием KinderGate Родительский Контроль 3.0. Данное приложение фильтрует интернет трафик, имеет довольно удобный и понятный интерфейс. Кроме того, отмечается, что приложение работает в среде Mac OS и Linux.

Для ограничения детского доступа в Интернет программа KinderGate

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

Программа KinderGate использует весь перечень материалов и сайтов, которые были запрещены на государственном уровне. Это обеспечивает соответствие всем необходимым требованиям, предъявляемым со стороны законодательства по части фильтрации контента для учреждений сферы образования. Имеется также возможность обновления перечня онлайн-ресурсов, словарей, а также различных баз, благодаря чему программа поддерживается в актуальном состоянии.

Новая версия KinderGate может функционировать в среде операционных систем Mac OS и Linux. После инсталляции приложение KinderGate позволяет администратору управлять несколькими компьютерами централизованно. А это уже дает все необходимые условия для установки фильтрации необходимых масштабов в пределах локальной сети.

Цена программы для родительского контроля KinderGate начинается от 490 рублей.

Автор: Slon
Источник: Железный сайт

Похожие материалы:

Понравилась новость? Поделись с друзьями!

1. Введение

2. Функциональные возможности Entensys KinderGate Родительский Контроль 3.0

3. Системные требования KinderGate 3.0

4. Установка KinderGate 3.0, первоначальная настройка и регистрация лицензии

5. Управление фильтрацией трафика KinderGate 3.0

6. Практически пример работы KinderGate 3.0

7. Выводы

Введение

В настоящее время тема защиты детей от нежелательного воздействия Интернета весьма популярна. Однако чаще всего можно услышать только общие слова, а конкретные технические решения, как правило, не обсуждаются. Интернет содержит как негативную информацию, так и позитивную, важную для образования и развития. Попытки ограничить доступ ребенка только к специально отобранным сайтам (модель «белых списков») по сути убивает всю идею использования Интернета как неограниченного источника знаний и даже лишает возможности нормально использовать обычный поиск. С другой стороны, отсутствие фильтрации приводит к риску посещения разных нежелательных категорий сайтов. В этой связи важным становится выбор решения для интернет-фильтрации, которое, с одной стороны, обеспечит качественную защиту, с другой – не будет необоснованно ограничивать доступ на неопасные ресурсы. Важно также отметить, что любые решения, фильтрующие только по спискам и категориям, основанным на использовании баз URL, никак не могут обеспечить правильную фильтрацию создаваемого пользователями контента (Web 2.0). В социальных сетях, на блогах и на форумах есть и позитивная, и негативная информация, для анализа которой может применяться контент-фильтрация.

Актуальность темы защиты детей от вредоносных интернет-сайтов подчёркивается изменениями в законодательстве Российской Федерации. В частности, в июле 2012 года был принят Федеральный закон №139-ФЗ «О внесении изменений в Федеральный закон «О защите детей от информации, причиняющей вред их здоровью и развитию» и отдельные законодательные акты российской федерации», в котором было введено понятие Единого реестра доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено. Тем не менее, процедура ограничения доступа к вредоносным сайтам показывает свою неэффективность, попутно возникают побочные эффекты, нарушающие связность Интернета — например, ввиду того, что блокировка сайтов ведётся по IP-адресам, а на одном IP-адресе может находиться множество сайтов, страдают многие пользователи виртуальных хостингов.

Ситуация усугубляется тем, что несовершеннолетние подвергаются риску получить зависимость от сайтов сомнительного содержания. В частности, по исследованию Университета Восточного Лондона, 97% юношей и 80% девушек в возрасте от 16 до 20 лет смотрят сайты с откровенным сексуальным контентом. Более того, по заявлению члена Совета Федерации Руслана Гаттарова более половины запросов со школьных компьютеров связаны с посещением сайтов тематики для взрослых.

В соответствии со ст. 14 Федерального закона от 24.07.1998 № 124-ФЗ «Об основных гарантиях прав ребенка в Российской Федерации» и ст. 10 Федерального закона от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» в каждом российском учебном заведении должно быть установлено специальное программное обеспечение, регулирующее доступ к интернет-сайтам. При этом может использоваться и фильтрация на уровне оператора связи, и шлюзовое решение, и интернет-фильтр для ПК. Для операторов связи и фильтрации на шлюзе Entensys предлагает использовать UserGate Web Filter, а для компьютеров конечных пользователей предлагается клиентское решение – KinderGate Родительский Контроль. Интересно, что значительная доля школ и других образовательных учреждений предпочитает именно клиентское решение. Отчасти это можно объяснить тем, что большинство операторов связи не предлагает качественного решения по интернет-фильтрации. По утверждению разработчиков, KinderGate используется в более, чем 10 тысячах российских школ.

Естественно, клиентское решение лучше всего подходит и для домашних компьютеров.

Для обзора была выбрана версия Entensys KinderGate Родительский Контроль для Mac OS X, т.к. Версия 3.0 — является первой версией продукта, в которой поддерживается данная операционная система.

Перечислим основные возможности данной программы.

Функциональные возможности Entensys KinderGate Родительский Контроль 3.0

Среди основных возможностей программы можно отметить следующие:

  • Запрет посещений нежелательных категорий сайтов. С помощью технологии  Entensys URL Filtering 2.0, использующей базу из 500 миллионов веб-сайтов, фильтр имеет возможность блокировать не только сайты с содержанием для взрослых, но и вредоносные сайты, игровые и другие категории нежелательных сайтов;
  • Контентная фильтрация. В Entensys KinderGate Parental Control 3.0 встроен модуль морфологического анализа загружаемого контента, что является необходимым дополнением к блокировке доступа по URL;
  • Блокировка опасных сайтов. Представляет собой функцию запрета доступа к сайтам, содержащим вредоносные программы, а также созданные для реализации механизмов социальной инженерии (фишинговые сайты);
  • Блокировка контекстной рекламы и баннеров;
  • Безопасный поиск. Представляет собой блокировку запросов сомнительного содержания;
  • Установка режима доступа в Интернет. В Entensys KinderGate Parental Control 3.0 можно ограничивать для ребёнка время доступа в Интернет;

Системные требования KinderGate 3.0

Entensys KinderGate Parental Control можно установить на компьютеры, работающие под управлением следующих операционных систем:

  • Windows XP,Vista, 7, 8;
  • Linux;
  • Mac OS X 10.7.5 и выше.

Для комфортной работы требуется не менее 512 МБ оперативной памяти и не менее 200 МБ свободного пространства на жёстком диске.

Примечание. Для данного обзора производилась установка и настройка Entensys KinderGate Parental Control 3.0 на MacOS X 10.9.

Установка KinderGate 3.0, первоначальная настройка и регистрация лицензии

После запуска дистрибутива установка идёт по единственному стандартному сценарию (рисунок 1).

Рисунок 1. Программа установки KinderGate 3.0

Программа установки KinderGate 3.0 

Во время установки необходимо ввести имя и пароль администратора компьютера (рисунок 2).

Рисунок 2. Ввод пароля администратора во время установки KinderGate 3.0

Ввод пароля администратора во время установки KinderGate 3.0 

Установка также включает в себя необходимость перезагрузки компьютера.

При первом запуске KinderGate 3.0 необходимо выбрать язык интерфейса (рисунок 3).

Рисунок 3. Выбор языка интерфейса KinderGate 3.0

Выбор языка интерфейса KinderGate 3.0

После этого требуется принять лицензионное соглашение и ввести пароль для доступа к настройкам работы KinderGate 3.0 (рисунок 4).

Рисунок 4. Указание пароля доступа к настройкам KinderGate 3.0

Указание пароля доступа к настройкам KinderGate 3.0

Далее необходимо зарегистрировать демонстрационную лицензию или ввести пин-код от приобретённой лицензии (рисунок 5).

Рисунок 5. Регистрация лицензии на KinderGate 3.0

Регистрация лицензии на KinderGate 3.0 

На этом установка KinderGate 3.0 для Mac OS X завершена.

Управление фильтрацией трафика

При первом запуске KinderGate 3.0 отображается упрощённый вариант консоли, в котором собрана общая информация о статусе фильтрации трафика, действующей лицензии. Здесь же можно выбрать уровень фильтрации, проверить сайт на принадлежность к какой-либо категории, а также посмотреть общую статистику (рисунок 6). Из упрощённой консоли можно перейти в расширенную.

Рисунок 6. Упрощённая консоль KinderGate 3.0

Упрощённая консоль KinderGate 3.0

Интерфейс расширенной консоли состоит из нескольких окон. В окне «Лицензия» содержится подробная информация о текущей лицензии на KinderGate 3.0 (рисунок 7).

Рисунок 7. Информация о лицензии на KinderGate 3.0

Информация о лицензии на KinderGate 3.0

В окне «Настройки» (рисунок 8) можно изменить параметры отображения интерфейса KinderGate 3.0, включить или отключить функцию безопасного поиска и блокировщика рекламных баннеров. Также в этом окне содержатся настройки, связанные с блокировкой загрузки на компьютер файлов определённых типов. И, наконец, здесь же можно сменить пароль администратора для доступа к настройкам KinderGate 3.0.

Рисунок 8. Основные настройки KinderGate 3.0

Основные настройки KinderGate 3.0

В окне «Морфология» содержатся настройки тематик, на наличие которых будет проверяться входящий интернет-трафик (рисунок 9). В продукт встроено использование ряда морфологических словарей, которые поддерживаются и обновляются компанией Entensys. Словари содержат большое количество слов, терминов, жаргонных выражений, относящимся к темам, определенным законом о защите детей – наркотики, суицид, порнография, экстремизм, а также категории нецензурных слов и азартных игр.

Словарь, относящийся к терроризму, содержит все экстремистские материалы, запрещенные на территории России, из списка Министерства юстиции. Это позволяет блокировать любые страницы, где размещены какие-либо произведения, книги, видеоролики, звуковые файлы из данного списка.

Рисунок 9. Настройки морфологического анализа KinderGate 3.0

Настройки морфологического анализа KinderGate 3.0

В окне «Категории сайтов» (рисунок 10) можно выбрать уровень фильтрации, от которого зависит перечень блокируемых тематик сайтов. Также можно проверить сайты на вхождение в какую-либо категорию и отправить запрос на смену категории для определённых сайтов, введя соответствующие запросы прямо в консоли администратора.

Рисунок 10. Работа с категориями сайтов в KinderGate 3.0

Работа с категориями сайтов в KinderGate 3.0

Окно «Защищённое соединение» (рисунок 11) предназначено для настройки проверки трафика по протоколу HTTPS. При этом используется технология Man-in-the-Middle, подразумевающая следующий алгоритм работы: программа перехватывает запросы на соединение с HTTPS-сайтом, а затем создаёт собственный сертификат для сайта, к которому подключается пользователь и подписывает им зашифрованный трафик, являясь, по сути, своеобразным прокси между интернет-браузером и HTTPS-сайтом. В данном окне можно выбрать категории сайтов, для которых будет проверяться трафик, идущий по HTTPS-протоколу, а также добавить домены, для которых будет контролироваться HTTPS-трафик.

Рисунок 11. Настройки контроля HTTPS-трафика в KinderGate 3.0

Настройки контроля HTTPS-трафика в KinderGate 3.0

В окне «Исключения» можно настроить списки исключений из проверки трафика посредством KinderGate 3.0. С помощью окна «Запросы на белый список» можно обрабатывать запросы пользователей на добавление сайтов в белый список. Окно «История входов» содержит информацию о подключениях администратора к консоли управления KinderGate 3.0  для  контроля попыток несанкционированного доступа к настройкам программы.

Окно «Статистика» содержит гистограммы, визуализирующие статистику пользовательских запросов к интернет-ресурсам (рисунок 12).

Рисунок 12. Статистика работы KinderGate 3.0

Статистика работы KinderGate 3.0

Практический пример работы KinderGate 3.0

Проверить правильную работу фильтров KinderGate 3.0, достаточно попытаться открыть страницу веб-энциклопедии Wikipedia, посвящённую суициду. В интернет-браузере появится сообщение о блокировке, при этом можно будет обратить внимание, что в данном случае работает блокировка не по URL, а согласно модулю морфологии (риуснок 13).

Рисунок 13. Блокировка доступа к сайту в KinderGate 3.0

Блокировка доступа к сайту в KinderGate 3.0

Также можно проверить работу фильтрации поисковых запросов, набрав, например, в Поиске Google запрос «Суицид» (рисунок 14).

Рисунок 14. Блокировка поискового запроса в KinderGate 3.0

Блокировка поискового запроса в KinderGate 3.0

Кроме того, можно проверить блокировку рекламы, предварительно включив её в настройках KinderGate 3.0. Если после этого зайти на страницу веб-сайта компании Entensys, посвящённую KinderGate, то мы увидим практически пустой экран – реклама не отображается, но меню сайта доступно (рисунок 15).

Рисунок 15. Блокировка рекламы в KinderGate 3.0

Блокировка рекламы в KinderGate 3.0

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

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

Выводы

KinderGate 3.0 может быть эффективным интернет-фильтром как для домашних пользователей, так и для образовательных учреждений. Основным достоинством продукта является сочетание нескольких методов фильтрации, понимание русского языка, наличие специальных словарей, обеспечивающих соответствие российскому законодательству. Эффективность фильтра также подтверждена тестированием, проведённым исследовательской лабораторией портала Anti-Malware.ru.

Преимущества:

  • доступность установки и настройки для домашних пользователей;
  • комплексная фильтрация, сочетающая использование категоризированных баз и контент-анализа;
  • поддержка морфологии русского языка, качественное покрытие Рунета;
  • наличие словарей, позволяющих отфильтровывать сайты, страницы, сообщения, содержащие опасную информацию или просто нецензурный текст;
  •  соответствие требованиям российского законодательства;
  • поддержка фильтрации HTTPS;
  • поддержка платформ Windows, Linux и Mac OS X.

Недостатки:

  • отсутствие возможности настройки нескольких профилей фильтрации трафика для возможности быстрого переключения между ними;
  • требуется вручную установить сертификат локального удостоверяющего центра (если этого не сделано, то при включённой функции безопасного поиска при открытии Поиска Google выводится сообщение о том, что Safari не может проверить подлинность сертификата сайта www.google.ru);
  • до полного удаления продукта (через встроенную в дистрибутив программу удаления KinderGate) наблюдались проблемы с доступом к сервису App Store и получением обновлений системы. При попытке получить обновление выводилось системное сообщение о невозможности доступа к сервису обновлений Mac OS X.

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

Однако, несмотря на очевидность всех этих угроз, большинство родителей не способно защитить своих собственных детей. Проблема заключается в нехватке действительно эффективных в российских условиях инструментов, предназначенных для контроля использования глобальной сети несовершеннолетними. Фактически, все, что могут предложить существующие средства обеспечения безопасности (чаще всего они встроены в продукты класса Internet Security) — так называемые «стоп-листы». То есть списки запрещенных слов, наличие любого из которых приводит к блокировке загрузки конкретной страницы. Однако этот вариант нельзя отнести к разряду действительно эффективных. Во-первых, описать все слова, которые не хотелось бы показывать детям, просто-напросто нереально. Во-вторых, данный подход приводит к многочисленным ложным срабатываниям. Например, если внести в стоп-лист термин «наркотики», то будут заблокированы все новостные сайты, если данное слово окажется в заголовке одной из новостей (например, посвященной поимке очередного наркодилера). Кроме того, нельзя забывать, что во многих семьях дети знают компьютер лучше своих родителей. Это еще больше осложняет задачу установки ограничений на работу в Интернете.

Однако недавно ситуация изменилась. Во второй половине мая на рынке появился совершенно новый продукт под названием «KinderGate Родительский Контроль». Его разработчик — компания Entensys, известная своим прокси-сервером UserGate Proxy & Firewall. Сегодня мы рассмотрим принцип работы этой системы защиты, а также подробно рассмотрим процесс настройки параметров безопасности, чтобы справиться с ним смог даже начинающий пользователь компьютера.

Принцип работы «KinderGate Родительский Контроль»

Продукт «KinderGate Родительский Контроль» представляет собой фильтр, который позволяет реализовать многостороннюю политику использования Интернета несовершеннолетними детьми. Для этого в нем есть несколько различных инструментов. Самым, пожалуй, основным из них является возможность блокировки сайтов по их тематике. Причем сам принцип работы системы фильтрации в этом случае сильно отличается от использования «стоп-листов».

Реализованная в рассматриваемом продукте фильтрация работает с использованием технологии Entensys URL Filtering. Что это такое? Данная технология предполагает использовать для определения тематики сайта не размещенный на нем контент (то есть, по сути, проверку на наличие или отсутствие запрещенных слов), а специальную базу данных. В ней хранятся ссылки на веб-проекты вместе с рубриками, к которым они относятся. То есть принцип работы системы фильтрации выглядит следующим образом. При попытке перехода ребенка на какой-то сайт система осуществляет запрос к базе данных с указанием его адреса и получает в ответ категорию, к которой он относится. Если эта категория относится к разряду запрещенных родителями, то доступ к сайту будет заблокирован, а вместо него появится страница с предупреждением. В противном случае веб-проект нормально откроется в браузере.

Схема работы системы фильтрации

Схема работы системы фильтрации

Понятно, что при таком подходе эффективность работы системы фильтрации полностью зависит от полноты и корректности базы данных. Но в этом плане у Entensys URL Filtering все просто отлично. Во-первых, база данных на сегодняшний день является одной из самых полных. В ней содержится более 470 миллионов сайтов. Причем среди них есть не только российские, но и иностранные проекты из числа тех, которые чаще всего посещаются русскоязычными пользователями. Во-вторых, база разбита более чем на 80 категорий. Это позволяет очень тонко настраивать систему доступа. В-третьих, компания Entensys постоянно поддерживает базу данных в актуальном состоянии. По заявлению разработчиков, ежедневно обновляется информация более чем о ста тысячах сайтов. Причем проверяются не только новые, но и уже описанные веб-проекты. То есть база данных не находится в статичном состоянии, что очень важно, ибо сайты могут менять свои специализации, «умирать», передавая свой домен другим ресурсам и т.п.

Некоторые потенциальные пользователи могут засомневаться: а есть ли гарантия в том, что работа над базой данных будет продолжаться в том же объеме? Ответить на этот вопрос просто. Во-первых, компания Entensys уже давно присутствует на российском рынке и получила заслуженную известность. Во-вторых, технология Entensys URL Filtering используется не только в «KinderGate Родительский Контроль», но и в достаточно популярном в России прокси-сервере UserGate Proxy & Firewall, а также в недавно появившемся продукте GateWall DNS Filter, рассчитанном на провайдеров, средний и крупный бизнес. Таким образом, можно смело утверждать, что работа над базой данных, которая обслуживает несколько продающихся программ, будет продолжена.

Помимо использования Entensys URL Filtering в «KinderGate Родительский Контроль» используется и ряд других инструментов для контроля использования Интернета детьми. Среди них есть ограничение работы по расписанию, блокировка определенных видов контента (аудио, видео, архивы и исполняемые файлы и т.п.), сетевых протоколов и пр. Все они работают локально, осуществляя мониторинг запросов и их фильтрацию при необходимости.

Установка и настройка «KinderGate Родительский Контроль»

Продукт «KinderGate Родительский Контроль» отличается простотой установки и настройки. По всей видимости, разработчики специально постарались сделать свое детище доступным даже для начинающих пользователей ПК. Тем не менее, сегодня мы подробно разберем процесс внедрения защиты, дабы ни у кого не осталось никаких вопросов и сомнений.

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

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

Установка уровня фильтрации

Установка уровня фильтрации

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

Настройка фильтрации контента по типу

Настройка фильтрации контента по типу

При необходимости можно настроить «черный» список сайтов. С его помощью можно заблокировать доступ к определенным веб-проектам вне зависимости от того, к какой категории они относятся. Настраивается он путем ввода адресов сайтов, которые нужно запретить. Примечательно, что указывать можно не только полные строки, но и только их части. При этом необходимо в начале или конце адреса ввести знак «*» (он указывает на произвольный набор символов). То есть если ввести адрес: «*mail.ru», то будут заблокированы все сайты, адрес которых заканчивается на «mail.ru».

Внесение адреса в черный список

Внесение адреса в черный список

Теперь давайте поговорим о настройке расписания работы детей в Интернете. Понятно, что слишком долгое сидение за компьютером вредно для подрастающего поколения. А поэтому ограничение по времени выглядит вполне логичным шагом. В программе «KinderGate Родительский Контроль» реализовано два типа расписания. Первое из них, простое, предполагает ввод единого ограничения на все дни. Для его настройки достаточно просто указать интервал времени, в течение которого детям будет разрешена работа в Интернете.

Второй способ более гибок. Он позволяет привязать расписание к дням недели. Кроме того, с его помощью можно устанавливать не один, а несколько разрешенных интервалов в день (например, разрешить работу утром с 8 до 9 и вечером с 18 до 20). Настройка системы доступа осуществляется с помощью специальной таблицы, в строках которой указываются дни недели, а в столбцах — часы. Клик в любой ячейке левой кнопкой мыши разрешает работу в соответствующий час определенного дня недели, а правой — наоборот, запрещает. Таким образом, с помощь данного инструмента можно задать абсолютно произвольный график работы детей в Интернете. Это на самом деле очень удобно. Например, можно договориться с ребенком, что он будет проводить в глобально сети не более двух часов в рабочие и трех часов в выходные дни. И создать график, который бы учитывал учебное расписание, занятия в дополнительных кружках и секциях и пр.

Ввод графика работы в Интернете

Ввод графика работы в Интернете

Ну а теперь пришла пора поговорить о расширенных правилах. Это очень мощный инструмент, который позволяет осуществляться фильтрацию по одному или нескольким условиям одновременно. С его помощью можно организовывать очень гибкие политики доступа, например, запрещать загрузку видеороликов с конкретных сайтов или всех веб-проектов, относящихся к определенным рубрикам, блокировать использование ICQ и других IM-клиентов после десяти часов вечера и т.п. Для этого используется несколько типов условий (расписание, адреса сайтов, тематика сайтов в соответствие с Entensys URL Filtering, тип контента и виды протоколов), которые могут объединяться с помощью логических операций «И» или «ИЛИ». Ну а для того, чтобы принцип работы расширенных правил был более понятен, давайте рассмотрим несколько примеров.

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

Создаем новое правило

Создаем новое правило

Затем открываем четвертую вкладку окна и выбираем категорию, которые нужно заблокировать в дополнение к установленному уровню фильтрации (в нашем примере она так и называется — «Социальные сети»). Все, правило готово, и после сохранения начнет работать.

Включаем блокировку социальных сетей

Включаем блокировку социальных сетей

При необходимости его можно немного усложнить. Допустим, вы хотите заблокировать все социальные сети, кроме «Одноклассников». В этом случае необходимо на четвертой вкладке нажать на кнопку «Исключения» и заполнить список разрешенными адресами.

Вводим исключения — разрешенные сайты

Вводим исключения — разрешенные сайты

Давайте рассмотрим другую задачу. Допустим, мы решили разрешить детям работу в социальных сетях, но запретить при этом загрузку архивов, видео- и аудиофайлов, которые могут размещать пользователи этих проектов. Реализуется это следующим образом. Создаем новое правило, вводим его название и выбираем тип логики «Выполняется любое условие». Затем открываем четвертую вкладку и выбираем рубрику «Социальные сети». После этого заходим на пятую вкладку и выбираем тип контента, который мы хотим отфильтровывать: приложения различных типов (в том числе и скрипты), потоковые аудио- и видеопотоки, музыкальные и видеофайлы и пр. В результате дети смогут посещать социальные сети, однако не смогут загружать с них запрещенный контент.

Блокировка определенных типов контента с социальных сетей

Блокировка определенных типов контента с социальных сетей

Последний пример — реализация запрета на использование IM-клиентов после десяти часов вечера. Он может использоваться, когда дети чересчур увлекаются онлайн-общением и забывают даже про сон, не говоря уж про уроки. Данная задача решается следующим образом. Создаем новое правило, вводим его название и выбираем тип логики «Выполняется любое условие».

Создаем новое правило

Создаем новое правило

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

Задаем график работы

Задаем график работы

После этого переходим на шестую вкладку и выбираем нужные протоколы: ICQ, Jabber, Mailru (используется агентом Mail.Ru), IRC и пр. После сохранения данного правила доступ к выбранным протоколам будет контролироваться в соответствии с заданным графиком.

Выбираем протоколы, которые будут блокироваться

Выбираем протоколы, которые будут блокироваться

В процессе эксплуатации «KinderGate Родительский Контроль» собирает статистику использования Интернета. Просмотреть ее можно на одноименной вкладке консоли управления. На ней можно узнать, какие именно проекты посещают дети, каковы наиболее популярные сайты и категории, посмотреть диаграмму потребления трафика и т.п.

Просмотр статистики использования Интернета

Просмотр статистики использования Интернета

Ну а что же делать, если родителям самим нужно поработать в Интернете без каких-либо ограничений? Осуществить это можно двумя способами. Первый — открыть консоль управления и отключить с помощью специальной кнопки все правила. Главное — не забыть потом активировать их. Второй вариант предполагает использование специальной ссылки на странице с сообщением о блокировке доступа. При нажатии на нее на экране появляется диалоговое окно, с помощью которого можно отключить фильтрацию на определенное время (естественно, для этого нужно будет ввести пароль). Это очень удобный способ, поскольку применить его можно прямо во время работы (наткнулись на заблокированный сайт — тут же отключили фильтрацию), а также можно не бояться забыть включить защиту.

Подводим итоги

В заключение можно подвести небольшой итог. Начать нужно с того, что представленная система фильтрации действительно позволяет контролировать использование Интернета несовершеннолетними детьми. Особенно хочется отметить корректность отбора ресурсов в технологии Entensys URL Filtering, которая еще в прокси-сервере UserGate Proxy & Firewall заслужила положительные отклики от пользователей. Да и остальные инструменты, реализованные в «KinderGate Родительский Контроль», достаточно эффективны. Также можно отметить, что рассмотренный продукт отличается простотой настройки, в чем, собственно говоря, мы сегодня и убедились.
 

Я пытаюсь получить идентификатор пользователя Facebook, используя php sdk, как это

$fb = new FacebookFacebook([
    'app_id' => '11111111111',
    'app_secret' => '1111222211111112222',
    'default_graph_version' => 'v2.4',
]);

$helper = $fb->getRedirectLoginHelper();


$permissions = ['public_profile','email']; // Optional permissions
$loginUrl = $helper->getLoginUrl('http://MyWebSite', $permissions);

echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';


    try {
        $accessToken = $helper->getAccessToken();
        var_dump($accessToken);
    } catch (FacebookExceptionsFacebookResponseException $e) {
        // When Graph returns an error
        echo 'Graph returned an error: ' . $e->getMessage();
        exit;
    } catch (FacebookExceptionsFacebookSDKException $e) {
        // When validation fails or other local issues
        echo 'Facebook SDK returned an error: ' . $e->getMessage();
        exit;
    }

    if (!isset($accessToken)) {
        if ($helper->getError()) {
            header('HTTP/1.0 401 Unauthorized');
            echo "Error: " . $helper->getError() . "n";
            echo "Error Code: " . $helper->getErrorCode() . "n";
            echo "Error Reason: " . $helper->getErrorReason() . "n";
            echo "Error Description: " . $helper->getErrorDescription() . "n";
        } else {
            header('HTTP/1.0 400 Bad Request');
            echo 'Bad request';
        }
        exit;
    }

// Logged in
    echo '<h3>Access Token</h3>';
    var_dump($accessToken->getValue());

// The OAuth 2.0 client handler helps us manage access tokens
    $oAuth2Client = $fb->getOAuth2Client();

// Get the access token metadata from /debug_token
    $tokenMetadata = $oAuth2Client->debugToken($accessToken);
    echo '<h3>Metadata</h3>';
    var_dump($tokenMetadata);

// Validation (these will throw FacebookSDKException when they fail)
    $tokenMetadata->validateAppId($config['11111111111']);
// If you know the user ID this access token belongs to, you can validate it here
//$tokenMetadata->validateUserId('123');
    $tokenMetadata->validateExpiration();

    if (!$accessToken->isLongLived()) {
        // Exchanges a short-lived access token for a long-lived one
        try {
            $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);
        } catch (FacebookExceptionsFacebookSDKException $e) {
            echo "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>nn";
            exit;
        }

        echo '<h3>Long-lived</h3>';
        var_dump($accessToken->getValue());
    }

    $_SESSION['fb_access_token'] = (string)$accessToken;

но он дает мне эту ошибку:

Facebook SDK returned an error: 
Cross-site request forgery validation failed. 
The "state" param from the URL and session do not match.

пожалуйста, любая помощь, я новичок в php и Facebook sdk благодарим за любую помощь заранее.

4b9b3361

Ответ 1

Я обнаружил, что до тех пор, пока я разрешал сеансы PHP до создания URL-адреса входа, а в верхней части script Facebook в конечном итоге перенаправляется, он отлично работает сам по себе, не устанавливая cookie (в соответствии с ответом ale500). Это использует версию sdk версии 5.1.

В начале обоих скриптов я добавил…

if(!session_id()) {
    session_start();
}

… и он «просто сработал».

Вот полный пример, который работал у меня:

auth.php

if (!session_id()) {
    session_start();
}

$oFB = new FacebookFacebook([
    'app_id'     => FACEBOOK_APP_ID,
    'app_secret' => FACEBOOK_APP_SECRET
]);

$oHelper = self::$oFB->getRedirectLoginHelper();
$sURL = $oHelper->getLoginUrl(FACEBOOK_AUTH_CALLBACK, FACEBOOK_PERMISSIONS);

// Redirect or show link to user.

auth_callback.php

if (!session_id()) {
    session_start();
}

$oFB = new FacebookFacebook([
    'app_id'     => FACEBOOK_APP_ID,
    'app_secret' => FACEBOOK_APP_SECRET
]);

$oHelper = self::$oFB->getRedirectLoginHelper();
$oAccessToken = $oHelper->getAccessToken();
if ($oAccessToken !== null) {
    $oResponse = self::$oFB->get('/me?fields=id,name,email', $oAccessToken);
    print_r($oResponse->getGraphUser());
}

Почему?

В качестве дополнительной заметки это объясняется в Документах по репо. Посмотрите предупреждение на на этой странице.

Внимание: FacebookRedirectLoginHelper использует сеансы для хранения значения CSRF. Перед вызовом метода getLoginUrl() вы должны убедиться, что у вас есть сеансы. Обычно это делается автоматически в большинстве веб-фреймворков, но если вы не используете веб-инфраструктуру, вы можете добавить session_start(); в верхней части скриптов login.php и login-callback.php. Вы можете перезаписать обработку сеанса по умолчанию — см. Ниже точки расширения.

Я добавляю эту заметку, потому что важно помнить о том, что вы выполняете собственное управление сеансом или параллельно используете несколько веб-серверов. В этих случаях использование методов сеанса php по умолчанию не всегда будет работать.

Ответ 2

вставить этот код после $ helper = $fb-> getRedirectLoginHelper();

  $_SESSION['FBRLH_state']=$_GET['state'];

Ответ 3

Много замечательных ответов уже упоминалось, вот тот, который помог мне,

Я обнаружил, что проблема Не удалось выполнить проверку подделки на основе межсайтового запроса. Обязательное условие «состояние» отсутствует в коде FB, и вот решение

После этой строки

$helper = $fb->getRedirectLoginHelper();

Добавьте код ниже,

if (isset($_GET['state'])) {
    $helper->getPersistentDataHandler()->set('state', $_GET['state']);
}

Ответ 4

Я получил эту ошибку при использовании SDK Facebook в Symfony2, написав расширение Twig для отображения данных из API в шаблонах.

Решение для меня заключалось в добавлении 'persistent_data_handler'=>'session' в конфигурацию объекта Facebook, которая заставляет данные состояния храниться в сеансовом ключе вместо памяти:

$fb = new FacebookFacebook([
    'app_id' => 'APP_ID',
    'app_secret' => 'APP_SECRET',
    'default_graph_version' => 'v2.4',
    'persistent_data_handler'=>'session'
]);

По умолчанию используется встроенный обработчик памяти, который не работает должным образом для меня. Возможно, из-за того, что некоторые функции вызывается изнутри Twig Extension, поскольку обработчик памяти работает при использовании SDK исключительно в обычных контроллерах/службах.

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

Если вам нужно обрабатывать сеансы определенным образом или вы хотите сохранить состояние в другом месте, вы также можете написать свой собственный обработчик с помощью 'persistent_data_handler' => new MyPersistentDataHandler(), используя в качестве примера FacebookSessionPersistentDataHandler.

Ответ 5

Это происходит, когда библиотека Facebook не может сопоставить параметр состояния, который он получает от Facebook, с тем, который он устанавливает по умолчанию в сеансе. Если вы используете инфраструктуру, такую ​​как Laravel, Yii2 или Kohana, которая реализует собственное хранилище сеансов, стандартная реализация сеанса Facebook, скорее всего, не сработает.

Чтобы исправить это, вам нужно создать собственную реализацию PersistentDataInterface с помощью вашей библиотеки сеансов фреймворка и передать ее конструктору FacebookFacebook.

Вот пример обработчика сохраняемости Laravel из Facebook:

use FacebookPersistentDataPersistentDataInterface;

class MyLaravelPersistentDataHandler implements PersistentDataInterface
{
  /**
   * @var string Prefix to use for session variables.
   */
  protected $sessionPrefix = 'FBRLH_';

  /**
   * @inheritdoc
   */
  public function get($key)
  {
    return Session::get($this->sessionPrefix . $key);
  }

  /**
   * @inheritdoc
   */
  public function set($key, $value)
  {
    Session::put($this->sessionPrefix . $key, $value);
  }
}

Примеры параметров конструктора:

$fb = new FacebookFacebook([
  // . . .
  'persistent_data_handler' => new MyLaravelPersistentDataHandler(),
  // . . .
 ]);

Подробнее здесь:
https://developers.facebook.com/docs/php/PersistentDataInterface/5.0.0

Ответ 6

Наконец, просмотрев код FB, я обнаружил, что проблема

Не удалось выполнить проверку подделки на основе межсайтового запроса. Обязательное состояние «состояние» отсутствует

и аналогий вызвана переменная PHP $_SESSION['FBRLH_state'], которая по какой-то «странной» причине, когда FB вызывает файл обратного вызова login.

Чтобы решить эту проблему, я сохраняю эту переменную "FBRLH_state" ПОСЛЕ вызова функции $helper->getLoginUrl(...). Очень важно делать это только после вызова этой функции из-за того, что она находится внутри этой функции, когда заполняется переменная $_SESSION['FBRLH_state'].

Ниже пример моего кода в login.php:

$uri=$helper->getLoginUrl($uri, $permissions);
foreach ($_SESSION as $k=>$v) {                    
    if(strpos($k, "FBRLH_")!==FALSE) {
        if(!setcookie($k, $v)) {
            //what??
        } else {
            $_COOKIE[$k]=$v;
        }
    }
}
var_dump($_COOKIE);

И в login-callback.php перед вызовом всего кода FB:

foreach ($_COOKIE as $k=>$v) {
    if(strpos($k, "FBRLH_")!==FALSE) {
        $_SESSION[$k]=$v;
    }
}

И последнее, но не менее важное, помните также, чтобы включить код для сеанса PHP, поэтому..

if(!session_id()) {
    session_start();
}
...
...
...
...
<?php session_write_close() ?>

Я надеюсь, что этот ответ поможет вам сэкономить 8-10 часов работы:)
Пока, Алекс.

Ответ 7

Для меня проблема заключалась в том, что я не запускал сеанс перед script.

Итак, я добавил session_start(); перед созданием класса Facebook.

Ответ 8

Такая же проблема возникла у меня на laravel 5.4. Я решил эту проблему, поставив

session_start();

в верхней части script.

Ниже приведено примерное пространство имен контроллера laravel, чтобы дать вам пример того, как он будет работать.

<?php
namespace AppHttpControllers;
session_start();
use FacebookFacebook as Facebook;
?>

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

надеюсь, что это может помочь кому-то.

Ответ 9

Объект Facebook имеет переменную экземпляра с именем persistentDataHandler, обычно это экземпляр FacebookSessionPersistentDataHandler, который имеет набор и метод get для доступа к собственным PHP-сессиям.

При создании URL-адреса обратного вызова с использованием:

$loginUrl = $helper->getLoginUrl($callback_url, $permissions);

В методе FacebookRedirectLoginHelper->getLoginUrl() будет создана 32-символьная случайная строка, добавьте ее в $loginUrl и сохраните ее в коде ниже с помощью метода set persistentDataHandler.

$_SESSION['FBRLH_' . 'state']

Позже, когда вызывается $helper->getAccessToken();, параметр состояния в URL-адресе будет сравниваться с сохраненным в том же сеансе, чтобы предотвратить CSRF. Если не совпадать, это исключение будет выбрано.

FacebookSDKException: Не удалось выполнить проверку подделки на основе межсайтового запроса. Обязательное состояние «состояние» отсутствует.

Все сказанное, вы должны убедиться, что ваша собственная функция сеанса PHP правильно установлена ​​во время этого процесса. Вы можете проверить его, добавив

die($_SESSION['FBRLH_' . 'state']);

после

$loginUrl = $helper->getLoginUrl($callback_url, $permissions);

и до

$accessToken = $helper->getAccessToken();

чтобы увидеть, есть ли эта 32-символьная строка.

Надеюсь, что это поможет!

Ответ 10

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

$loginUrl = $helper->getLoginUrl('http://MyWebSite', $permissions);

с этим утверждением, если посетитель на вашем веб-сайте использовал http://www.mywebsite.com/, будет увеличена ошибка межсайтового сайта.

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

Фиксированная версия:

$loginUrl = $helper->getLoginUrl('http://'.$_SERVER['SERVER_NAME'], $permissions);

Ответ 11

вы могли бы просто сделать это, установив сеанс с новым состоянием

<?php
if(isset($_GET['state'])) {
      if($_SESSION['FBRLH_' . 'state']) {
          $_SESSION['FBRLH_' . 'state'] = $_GET['state'];
      }
}
?>

Ответ 12

С Symfony это не работает, потому что управление сеансом выполняется.

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

FacebookDataHandlerSymfony.php:

<?php

use FacebookPersistentDataPersistentDataInterface;
use SymfonyComponentHttpFoundationSessionSession;

class FacebookDataHandlerSymfony implements PersistentDataInterface
{

    private $session;

    public function __construct()
    {
        $this->session = new Session();
    }

    public function get($key)
    {
        return $this->session->get('FBRLH_' . $key);
    }

    public function set($key, $value)
    {
        $this->session->set('FBRLH_' . $key, $value);
    }

}

И когда вы создаете объект FB, вы должны просто указать новый класс:

$this->fb = new Facebook([
            'app_id' => '1234',
            'app_secret' => '1324',
            'default_graph_version' => 'v2.8',
            'persistent_data_handler' => new FacebookDataHandlerSymfony()
        ]);

Ответ 13

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

У меня была эта проблема некоторое время, и я искал вокруг и видел много разных решений, многие из которых отключили проверку CSRF. Поэтому после всего, что я прочитал, это то, что сработало для меня.

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

Шаг 1. Убедитесь, что сеанс запущен, когда ему нужно.

, например: fb-config.php

session_start();
include_once 'path/to/Facebook/autoload.php';

$fb = new FacebookFacebook([
    'app_id' => 'your_app_id',
    'app_secret' => 'your_secret_app_id',
    'default_graph_version' => 'v2.10'
]);

$helper = $fb->getRedirectLoginHelper();

если ваш код обратного вызова facebook находится в другом файле, кроме конфигурации, затем запустите сеанс и в этом файле.

, например: fb-callback.php

session_start();
include_once 'path/to/fb-config.php';

try {
    $accessToken = $helper->getAccessToken();
} catch (FacebookExceptionsFacebookResponseException $e) {
    echo "Response Exception: " . $e->getMessage();
    exit();
} catch (FacebookExceptionsFacebookSDKException $e) {
    echo "SDK Exception: " . $e->getMessage();
    exit();
}

/** THE REST OF YOUR CALLBACK CODE **/

Теперь, что решило мою актуальную проблему.

Шаг 3. Настройте URL-адрес перенаправления в настройках вашего приложения.

В настройках вашего приложения Facebook войдите в Действительные URI перенаправления OAuth, где вы должны добавить URL-адрес, указывающий на ваш файл fb-callback.php.

http://example.com/fb-callback.php

AND ALSO

http://www.example.com/fb-callback.php

затем настройте URL-адрес перенаправления следующим образом.

$redirectURL = "http://".$_SERVER['SERVER_NAME']."/fb-callback.php";
$permissions = ['email'];
$fLoginURL = $helper->getLoginUrl($redirectURL, $permissions);

Почему с WWW и без него и почему используется SERVER_NAME?

потому что ваш Действительный URI перенаправления OAuth должен соответствовать вашему URL-адресу перенаправления в вашем коде, и если в настройках вашего приложения вы установите только OAuth-перенаправление как http://example.com/fb-callback.php и настройте свой $redirectURL как http://example.com/fb-bacllback.php, чтобы он совпал, но пользователь ввел ваш сайт http://www.example.com, тогда пользователь получит ошибку Facebook SDK: проверка подделки подкачки сайта не удалась. Обязательное состояние «состояние» отсутствует из постоянных данных, потому что URL-адрес пользователя находится, не ТОЧНО соответствует тому, что вы настроили. Зачем? У меня нет фантастической идеи.

Мой подход делает это так, если пользователь вводит ваш сайт как http://example.com или http://www.example.com, он всегда будет соответствовать настройкам вашего приложения. Зачем? потому что $_SERVER [‘SERVER_NAME’] вернет домен с или без www в зависимости от того, как пользователь вводил URL-адрес в браузере.

Это мои выводы, и это единственное, что сработало для меня, не удаляя проверку CSRF и до сих пор никаких проблем.

Надеюсь, это поможет.

Ответ 14

Легкое исправление для меня.
Я изменил:

$loginUrl = $helper->getLoginUrl('http://www.MYWEBSITE.ca/index_callback.php', $permissions);

в

$loginUrl = $helper->getLoginUrl('http://MYWEBSITE.ca/index_callback.php', $permissions);

удаление 'www' решило проблему.

Ответ 15

В моем случае я проверил ошибку и обнаружил ошибку, которая приведет меня к решению с выполнением кода:

date_default_timezone_set('Europe/Istanbul');

до script. Работал как шарм. Для проверки местоположения: timezones.europe.php

Ответ 16

Ошибка запускается, если имя хоста происхождения отличается от имени хоста [как указано Souch]. Когда посетители набрали адрес URL-адреса как » http://website.com, который отличается от » http://www.website.com». Мы перенаправляем их на правильный URL-адрес, добавляя следующие коды в самое верхнее положение до session_start().

  if($_SERVER['HTTP_HOST']!=='www.website.com'){
  header('location: http://www.website.com');
  }

Ответ 17

Решение Yii2, которое работает для меня:

use FacebookPersistentDataPersistentDataInterface;
use Yii;

class PersistentDataHandler implements PersistentDataInterface
{
    /**
     * @var string Prefix to use for session variables.
     */
    protected $sessionPrefix = 'FBRLH_';

    public function get($key)
    {
        return Yii::$app->session->get($this->sessionPrefix . $key);
    }

    public function set($key, $value)
    {
        Yii::$app->session->set($this->sessionPrefix . $key, $value);
    }
}

Ответ 18

У меня была такая же ошибка, потому что я забыл добавить «www». к адресу отправителя. В настройках Client-OAuth должно быть правильное имя.

Ответ 19

Это обычная проблема, с которой сталкиваются многие люди в FB Api. это только проблема СЕССИИ. Чтобы решить эту проблему, добавьте некоторый код.

При обратном вызове script обычно fb-callback.php добавляет «session_start();» перед тем, как вы включите файл автозагрузки facebook. а затем «$ _SESSION [‘FBRLH_state’] = $_ GET [‘state’];» после «$ helper = $fb- > getRedirectLoginHelper();» линия.

Пример:

<?php 
session_start();
include 'vendor/autoload.php';
include 'config.php'; /*Facebook Config*/
$helper = $fb->getRedirectLoginHelper();
$_SESSION['FBRLH_state']=$_GET['state'];
try {
  $accessToken = $helper->getAccessToken();
} ?>

Ответ 20

Возможно, кто-то, кто использует Javascript Helper в интерфейсе для аутентификации пользователя, а в PHP пытается извлечь access_token из Помощника по переадресации. Поэтому используйте следующие

getJavaScriptHelper();

вместо

getRedirectLoginHelper();

Ответ 21

РЕШЕНИЕ ДЛЯ ИНТЕРМЕТЕНТНЫХ ПРОБЛЕМ

Я был a) перенаправлением на ссылку для входа в Facebook, b) перенаправление с login.php на main.php. Пользователи перейдут на main.php и несколько других страниц, а затем вернутся назад в браузере.

В конце концов, они попали бы в login.php с кучей объявленных к нему писем, но Facebook удалил $_SESSION [‘FBRLH_state’] после одного успеха, так что даже если у него было правильное $_GET [‘state’], он будет выходить из строя.

Решение: а) отслеживать внутренне, если пользователь вошел в систему и избегает повторной логики Facebook в login.php, ИЛИ b) отслеживает все недавно действительные параметры состояния для этого конкретного пользователя (возможно, в сеансе), который были установлены Facebook, и если $_GET [‘state’] находится в этом массиве, сделайте следующее:

$_ SESSION [‘FBRLH_state’] = $_GET [‘state’];

В этом случае вы можете сделать это безопасно, не нарушая защиту CSRF.

Ответ 22

Для меня настройка работы сеанса

Полный код (в URL-адресе перенаправления)

$accessToken = '';

$helper = $fb->getRedirectLoginHelper();

if(isset($_GET['state'])){

    $_SESSION['FBRLH_state']=$_GET['state'];
}


try {
    $accessToken = $helper->getAccessToken();
} catch ( FacebookExceptionsFacebookResponseException $e ) {
    // When Graph returns an error
    echo 'Graph returned an error: ' . $e->getMessage();

}

Ответ 23

см. ваш «default_graph_version» на всех страницах, если изменить, а затем сохранить их правильно, это показано в https://developers.facebook.com/apps/

Ответ 24

Для меня проблема была другая; (Я был глуп)
У меня появилось всплывающее окно с входом в Facebook и снова кнопки входа в систему Facebook на странице входа/регистрации.

  • Всякий раз, когда я нажимаю кнопку Facebook в всплывающем окне с других страниц, он работает нормально.
  • Но, когда я нажимаю кнопку Facebook во всплывающем окне со страницы входа/регистрации, это не сработает.

Причина в том, что я повторно создал объекты Facebook и getRedirectLoginHelper. Я должен был прокомментировать эти заявления на страницах входа/регистрации, поскольку он уже был доступен.

$_SESSION['FBRLH_state']=$_GET['state'];

— это не путь. Хотя это сработало.

Ответ 25

если вы продолжаете видеть ошибку, просто очистите кеш браузера. Когда я исправил проблему с помощью решения enobrev, я продолжал испытывать ошибку. Через некоторое время я понял, что мне нужно очистить кеш, и после того, как я перезапустил браузер, он сработает!

Like this post? Please share to your friends:
  • Killing floor критическая ошибка
  • Killing floor 2 стим ошибка
  • Killing floor 2 ошибка подключения
  • Killing floor 2 ошибка temp folder
  • Kia ceed jd ошибка климата 20