|
 78.1 Кб |
|
| Мне ранее не доводилось делать авторизацию на сайте - может быть, по этой причине и непонимание.
А суть дела такова.
Протокол обмена 1С с сайтом http://dev.1c-bitrix.ru/api_help/sale/catalog_protocol.php не предусматривает передачу на сервер логина и пароля, однако сама форма настройки связи, имеющаяся в 1С, включает оба эти параметра (скриншот).
Очевидно, что на первом шаге в упомянутом Протоколе из 1С на сервер должны быть каким-то образом переданы логин / пароль, введенные в форму настройки связи с сайтом. И на сервере эти параметры необходимо принять.
Но как их принять? Каким методом они передатся? Этого я не понимаю...
Как можно предположить, логин/пароль передаются пост запросом. Но каковы имена переменных в этом запросе, как их выловить?
Я попытался сделать так - посылать из 1С запрос на установление связи и ловить его на сервере:
foreach($_REQUEST as $key=>$value)
$data_test .= $key.'=>'.$value.'<br/>';
file_put_contents('data_test.txt', $data_test);
|
Нет ничего... | |
|
|
|
|
|
|
|
для: Владимир55
(30.04.2013 в 13:58)
| | Ну и надыбали вы себе геморрой )
Может он всегда обменивается сырыми данными, как и при передаче файла. Проверьте.
А вдруг 1С использует одни и те же ключи ля связи с сервером, передавая только разные значения, то есть то, что вы раньше писали о сопровождении, вполне подходит и тут (имя, пароль). А в массив $_REQUEST попадают переменные из массивов GET, POST, COOKIE, а останутся только те, что в variables_order в php.ihi указанны последними. То есть, пустые данные какого либо из них, и указанные в порядке последними, перепишут данные другого массива.
Хотя верится в такое с трудом, но проверьте по отдельности эти массивы, а вдруг. | |
|
|
|
|
|
|
|
для: confirm
(30.04.2013 в 16:47)
| | Разумеется, GET, POST и COOKIE я посмотрел изначально... Логин / Пароль они не содержат.
Ладно, будем думать... | |
|
|
|
|
|
|
|
для: Владимир55
(30.04.2013 в 17:52)
| | Вы сохраните $GLOBALS ( file_put_contents('file'), json_encode($GLOBALS) ) и потом просмотрите его как массив ( array = json_decode(file_put_contents('file')) ). | |
|
|
|
|
|
|
|
для: confirm
(30.04.2013 в 18:08)
| | Решение найдено:
$_SERVER['PHP_AUTH_USER']
$_SERVER['PHP_AUTH_PW']
|
| |
|
|
|
|
|
|
|
для: Владимир55
(03.05.2013 в 10:47)
| | А вы говорите передает.. Оказывает запрос на базовую авторизацию :) | |
|
|
|
|
|
|
|
для: confirm
(03.05.2013 в 13:23)
| | А вы говорите передает..
Да, передает. Вот в этих глобальных переменных передает на сервер логин/пароль. И это не запрос чего-либо, а именно передача. Саму авторизацию (в смысле проверки логина/пароля) 1 С не делает. Просто посылает эти переменные и все. | |
|
|
|
|
|
|
|
|
для: confirm
(03.05.2013 в 14:34)
| | Да, так я и сделал. | |
|
|
|