Как отправить данные из двух внешних php скриптов - PullRequest
0 голосов
/ 01 августа 2020

У меня есть форма на example.com/login.html. Он отправит данные POST по адресу seconddexample.com/login.php. Он должен быть междоменным, потому что сценарий PHP seconddexample.com будет иметь доступ к файловой системе этого домена. Он проверит некоторые файлы и отправит информацию на example.com/main.php. Проблема в том, что я не знаю, как отправить данные. Я не могу использовать информацию GET, потому что информация слишком велика. Я не хочу использовать какие-либо клиентские методы, такие как JavaScript или HTML. Seconddexample.com/login.php необходимо перенаправить непосредственно на example.com/main.php через что-то вроде header("LOCATION: example.com/main.php").

1 Ответ

0 голосов
/ 01 августа 2020

вы можете $_POST входы secondexample.com/login.php затем вернуть токен в начало сеанса

<?php
$user= $_POST['user'];
$pass = md5($_POST['pass']);

//check user and pass in db correct
if($pass==$dbpass){
$key= 12345678; //this key used like password

$encoded = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $myVarIWantToEncodeAndDecode, MCRYPT_MODE_CBC, md5(md5($key))));
header("LOCATION: example.com/main.php?encoded=".$encoded) 
exit;
}

Затем создать сеанс в example.com/main.php

<?php
session_start();
$key= 12345678; //this key used like password
$encoded=$_POST['encoded'];
$decoded = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($encoded), MCRYPT_MODE_CBC, md5(md5($key))), "\0")
if($decoded==$key){
$_SESSION['status']= $status;  
}else{
header("LOCATION: example.com/logout.php") 
exit;
}
// your page message here

Думаю, это вам поможет

...