Я пытаюсь создать API и получить к нему доступ с помощью PHP.
Это мой код для доступа к странице - login.php
$postValues = http_build_query($postValues);
echo $postValues;
$curl = curl_init();
$options = array(
CURLOPT_URL => https://mywebsite.com/index.php,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postValues,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_SSL_VERIFYPEER => true,
//CURLOPT_USERAGENT => $authUserAgent,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => false,
CURLOPT_COOKIEJAR => 'cookies.txt',
CURLOPT_COOKIEFILE => 'cookies.txt',
);
curl_setopt_array($curl, $options);
curl_exec($curl);
//The remote page I would like to access
curl_setopt($curl, CURLOPT_URL, 'https://mywebsite.com/login-home.php');
$test = curl_exec($curl);
print_r($test);
curl_reset($curl);
curl_close($curl);
Это мой код для входастраница - login.php
<code>if(
($_POST['first_name'] == 'secret-word-1') AND
($_POST['second_name'] == 'secret-word-2') AND
($_POST['third_name'] == 'secret-word-3')
){
echo 'Everything is correct';
$setcookie = setcookie('books-login-cookie', 'books-cookie-value', time() + (100),'/');
}
if(isset($setcookie)){
echo $setcookie;
header('Location: login-home.php');
}else{
echo 'No cookies!';
}
if(isset($setcookie)){
echo $setcookie;
}else{
echo 'Cookie cannot be set';
}
echo '<pre>';
echo $_COOKIE['books-login-cookie'];
print_r($setcookie);
echo '
';
Это код для проверки формы входа - login-val.php
<code>if(
($_POST['first_name'] == 'secret-word-1') AND
($_POST['second_name'] == 'secret-word-2') AND
($_POST['third_name'] == 'secret-word-3')
){
echo 'Everything is correct';
$setcookie = setcookie('books-login-cookie', 'books-cookie-value', time() + (100),'/');
}
ECHO $setcookie;
if(isset($setcookie)){
echo $setcookie;
header('Location: login-home.php');
}else{
echo 'No cookies!';
}
if(isset($setcookie)){
echo $setcookie;
}else{
echo 'Cookie cannot be set';
}
echo '<pre>';
echo $_COOKIE['books-login-cookie'];
print_r($setcookie);
echo '
';
Это моя безопасная страница, на которую я должен попасть - login-home.php
<code><?php
echo '<h1>SECURE PAGE</h1>';
$setcookie = null;
if(isset($_COOKIE['books-login-cookie'])){
$setcookie = $_COOKIE['books-login-cookie'];
echo 'Cookie monster is happy!';
}else{
echo 'No cookies on SECURE PAGE!';
header('Location: login.php');
}
echo '<pre>';
echo $setcookie;
print_r($_COOKIE);
echo '
';?>
Когда я пытаюсь использовать cURL, я получаю сообщение «Нет файлов cookie на БЕЗОПАСНОЙ СТРАНИЦЕ!»Это означает, что код cURL перенаправляется на страницу с ограниченным доступом, однако файлы cookie не установлены.В то же время, если мне нужно было перейти непосредственно к login.php, я получаю «Cookie monster is happy!».Это означает, что файлы cookie работают так, как они должны.
Разрешение files cookies.txt установлено на 777. Я не могу понять, почему оно не работает.
Яне заинтересован в безопасности, так как я пока что просто возился.