проблема: сайт и crm сессий друг друга не видят. Сайт по системе многосайтовости потом напишу, как поправили.
а пока скрипт для теста сессий, положила в общую папку bitrix |
<?session_start();?>
В формы:
<pre>
<? print_r($_POST);?>
</pre>
Из сессии:
<pre>
<? print_r($_SESSION);?>
</pre>
<?
$post = $_POST['num'] ?? $_POST['num1'];
if($_SESSION['kNum'] == $post):?>
<b>РАБОТАЕТ!</b>
<?else:?>
<span style="color:red;">НЕ РАБОТАЕТ?!</span>
<?endif;?>
<hr/>
<h1>новый тест</h1>
<?
$k = rand('100', '999');
$_SESSION['kNum'] = $k;
?>
сейчас в сессии: <?=$_SESSION['kNum']?>
<br><br>
nikaverro.ru
<form method="POST" action="https://nikaverro.ru/bitrix/admin/test_nika.php">
<input name="num" value="<?=$k?>" > <input type="submit" value="test">
</form>
<?// если сайт 1, то вторая форма не нужна?>
<br><br>
crm.nikaverro.ru
<form method="POST" action="https://crm.nikaverro.ru/bitrix/admin/test_nika.php">
<input name="num1" value="<?=$k?>"> <input type="submit" value="test1">
</form> |
авторизацию починили так:
- перенесли хранение сессий в мемкеш
- стояла ддосгуард защита на сервере. отдавав нереальный айпи сайту, X-Real-Ip возвращать стали
чтобы сессия была в memcache .settings
'session' => array (
'value' =>
array (
'mode' => 'default',
'handlers' => array (
'general' => array (
'type' => 'memcache',
'port' => '0',
'host' => 'unix:///tmp/memcached.sock',
)
),
),
'readonly' => true,
), |
чтобы сессия была в БД .settings
'session' => array (
'value' =>
array (
'mode' => 'default',
'handlers' => array (
'general' => array (
'type' => 'database',
)
),
),
'readonly' => true,
) |