Про лицензионный ключ.
Лицензионный ключ системы можно получить с помощью функции CUpdateClientPartner::GetLicenseKey(),
Система не показывает никому лицензионный ключ, кроме администратора в панели управления.
При обмене с сервером обновлений используется md5 хеш лицензионного ключа.
Система получает этот хеш с помощью функции md5(CUpdateClient::GetLicenseKey());
Зная сам лицензионный ключ или его md5 хеш, можно устанавливать решения с сервера обновлений.
Теперь представим ситуацию в которой Вы, не хотите чтобы компания 1C собирала о Вас информацию по хешу ключа.
Технический мы заблокировали все возможные хосты, но:
Просоленный хеш лицензионного ключа CMS отдает в HTTP заголовке сервера.
Как выглядит просоленный хеш? - md5("BITRIX".CUpdateClientPartner::GetLicenseKey()."LICENCE");
или md5('bitrix'.CUpdateClientPartner::GetLicenseKey(.'bitrix');
Мы берем лицензионный ключ, перед ним добавляем слово BITRIX, после него слово LICENCE и считаем md5 хеш и отдаем уже ключ в таком виде.
Так компания 1С может проверить наличие лицензии для действующего сайта у CMS
Партнеры битрикса имеют возможность по этому хешу выяснить у компании 1с есть ли этот хеш в базе лицензий, и покупался ли на данных ключ конкретный шаблон.
Потому, важно, чтобы этот хеш не светился "в люди".
Это делается с помощью такой приблуды:
содаете, если нету файл: /bitrix/php_interface/init.php
и туда добавляете
<?
AddEventHandler("main", "OnBeforeProlog", "ChangeHeaders");
function ChangeHeaders() {
header("X-Powered-CMS: Bitrix", true);
header("X-Powered-By: PHP", true);
}
Некоторые разработчики проводят дополнительную проверку лицензии с помощью запросов к серверу обновлений битриса.
Но бывают такие наглые которые отправляют себе на сервер
хеш лицензионного ключа без соли!