@appendicit
Бездельник

Подключение простейшего php скрипта в битрикс, как?

Здравствуйте, сталкиваюсь с битриксом впервые. Необходимо просто напросто подключить SxGeo базу к сайту для проверки страны, и если старана не попадает в перечень то закрывать сайт (обязательно, без htaccess и т.д.).

в index.php вставляю перед
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");


нужный мне код:
include($_SERVER["DOCUMENT_ROOT"]."/SxGeo.php");
$SxGeo = new SxGeo($_SERVER["DOCUMENT_ROOT"].'/SxGeo.dat');
$SxGeo = new SxGeo($_SERVER["DOCUMENT_ROOT"].'/SxGeo.dat');
$ip = $_SERVER['REMOTE_ADDR'];
$zap = $SxGeo->get($ip);
if(in_array($zap , array('RU','UA'))) {
	exit();
}


Но результата не дает! Подскажите как правильно это сделать в битриксе...
  • Вопрос задан
  • 3254 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Mysterion
если старана не попадает в перечень то закрывать сайт

Заменить:
if(in_array($zap , array('RU','UA')))
на:
if(!in_array($zap , array('RU','UA')))
Ответ написан
Вы будете это подключать в каждом файле до require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); ?

Ну это же не путь.
Добавьте эту проверку хотя бы в init.php. А лучше в какой-то файл, который уже просто подключайте в init.php*

Это то что касается подключения именно в битрикс.

Что касается самой библы - сначала оладьте свое решение на пустом обычном файле без битрикс. Потом уже к битрикс подключайте. А то у вас явно не работает SxGeo, а вопрос вроде как про битрикс.

Я не буду говорить что само такое решение плохое - и вы зарежете очень много пользователей из тех стран из которых их надо пропустить - надеюсь вы и сами прекрасно понимаете и желание отпилить ногу полностью осознано, но я все же хочу сказать что подключать на каждом хите эту библу - дорогое удовольствие. Поставьте лучше куку, после того как пропустили пользователя один раз и всем пользователям с этой кукой уже не выполняйте проверку. Можно признак в сессии хранить в принципе.
----------------------------------
* - я имею ввиду /local/php_interface/init.php
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы