Привет, спасибо заранее …
Я работаю над проектом, мне нужно некоторое разъяснение для обмена данными между двумя сайтами с высокой степенью защиты. В настоящее время я использую Form Post для обмена данными. Но я думаю о том, есть ли возможность получить данные сеанса сайта-1 с сайта-2, потому что я думаю, что использование сеанса более безопасно. Я не знаю, как использовать сеансы между двумя сайтами, но я надеюсь, что кто-то здесь узнает.
Как это:
Кодирование сайта 1
$_SESSION['customer_id'] = 'XYZ'; $_SESSION['total_amount'] = '100'; <a href=https://site2.com/do.php?session_id=<?=$_SESSION['session_id']?>>Click Here</a>
Код сайта 2 в do.php
$session_id = $_REQUEST['session_id']; $shared_data = bla_bla_bla_function($session_id); $customer_id = $shared_data['customer_id']; $total_amount = $shared_data['total_amount'];
или есть какой-либо способ сделать безопасный обмен данными между двумя сайтами, отличными от формы, пожалуйста, скажите мне.
спасибо
С уважением,
Kaartikeyan R
Найденное решение
Я отправил идентификатор клиента и сумму через CURL на второй веб-сайт, создав для этого запись в таблице и создав зашифрованный идентификатор с идентификатором записи и вернув зашифрованный идентификатор.
Таким образом, на первом веб-сайте я получаю шифрованный идентификатор и использую его для перенаправления URL на второй веб-сайт.
На втором веб-сайте с зашифрованным идентификатором я получаю идентификатор и сумму клиента.
Urk. Во-первых, никогда, НИКОГДА не делайте этого:
$session_id = $_REQUEST['session_id'];
Это приводит к тому, что ядро безопасности вызывается как «фиксация сеанса» (подробнее: http://en.wikipedia.org/wiki/Session_fixation ).
Кажется, вы довольно тяжелы в безопасности. Если вам необходимо обмениваться данными с сайта 1 на сайт 2, вы должны сделать это через единый мост потребления:
1). Нажмите ссылку на сайт 1 в файл обработчика, назовем его redir.php.
2). Redir.php сначала проверяет существующие данные сеанса.
3). Redir.php записывает соответствующую информацию в строку DB вместе с каким-то идентификатором (например, хеш MD5 идентификатора пользователя + '_' + текущее время), плюс флаг «потребляемый», устанавливает false.
4). Redir.php перенаправляет 301 на сайт 2 вместе с идентификатором.
5). Сайт 2 читает соответствующую строку из БД.
6). Если данные хороши и еще не «поглощены», верните успех и отметьте данные как потребленные.
7). Если данные были потреблены, введите какую-то ошибку.
Есть более сложные способы сделать это, но я думаю, что это касается того, что вы пытаетесь сделать.
вы можете использовать общий сеанс для обоих сайтов, например. хранить сеанс в базе данных
для замены встроенного файлового сервера вы можете использовать функцию session_set_save_handler