COOKIE widoczne tylko na jednej stronie

0

Witam, w celu zabezpieczenia pewnej strony przed nieautoryzowanym wejściem, na pierwszej stronie sprawdzam kod użytkownika który podaje mi w formularzy, potwierdzam dane oraz tworzę ciastko z IP usera który poprawnie wpisał kod.

Po potwierdzeniu informacja leci do infiusionsofta który zlicza dane dotyczące newslettera do którego chcemy sie dostać oraz przekierowuje nas na stronę która jest na innym serwerze aby pokazać nam odpowiednią zawartość finalną.

Strona na której się znajduje finalna treść sprawdza czy link został wysłany z parametrem oraz czy IP usera wyświetlającego stronę zgadza się z IP usera który wpisywał poprawne hasło (to zabezpiecza przed skopiowaniem linku finalnej strony i pokazaniem jej treści bez odpowiedniego IP)

Mój problem polega na tym, że COOKIE jest widoczne tylko na stronie gdzie je tworzę a tam gdzie jest finalna treść już nie mogę się do niego dostać.

Z tego co wiem o ciastkach, to są one zapisywane w przeglądarce i przy prawidłowych parametrach muszą są dostępne zawsze (lub do czasu kiedy chcemy aby zniknęły). Nie wiem dlaczego nie mogę dostać się do ciastka.

Proszę o pomoc i wskazówki.

Kod strony gdzie sprawdzam poprawność hasła:

 
<?php
ob_start(); 
setcookie ("IP", "0", time() + (86400 * 30), "http://ilderim.com/video_academy/video/index.php?kod=film" ); 

$ip = $_SERVER['REMOTE_ADDR'];
echo $ip;   
$form = '
		<form accept-charset="UTF-8" action="" method="POST">
		    
		        <label for="inf_field_ReferralCode">Wprowadź kod: </label>
		        <input class="infusion-field-input-container" id="inf_field_ReferralCode" name="kod" type="text" required/>
		        <input type="submit" value="Submit" />
		    <input name="checker" type="hidden" vaule="1" />
		</form>
		';
$formTrue = '<form accept-charset="UTF-8" action="link do infiusionesofta" class="infusion-form" method="POST">
    <input name="inf_form_xid" type="hidden" value="test" />
    <input name="inf_form_name" type="hidden" value="Sign up for newsletter" />
    <input name="infusionsoft_version" type="hidden" value="1.35.0.43" />
    <div class="infusion-field">
        <label for="inf_field_ReferralCode">Referral Code *</label>
        <input class="infusion-field-input-container" id="inf_field_ReferralCode" name="inf_field_ReferralCode" type="text" value="'.$_POST['kod'].'"/>
    </div>
    <div class="infusion-submit">
        <input type="submit" value="Potwierdź" />
    </div>
</form>
<script type="text/javascript" src="https://aq183.infusionsoft.com/app/webTracking/getTrackingCode?trackingId=57e3499d794abfbf75d40afa43d5b277"></script>';
		
$kody[0] = "p0m3e";
$kody[1] = "p0m1q";
$kody[2] = "p0m2w";

$prawda = false; 

if(isset($_POST['checker'])){
    $kod = $_POST['kod'];
	for($i=0; $i < 3; $i++){
		if($kod == $kody[$i]){
			$prawda = true;
			break;
		}
		else {
			$prawda = false; 
		}
	}
	if($prawda){
		$_COOKIE['IP'] = $ip; 
		if(isset($_COOKIE['IP'])){
			echo "utowrzono ciastko ip "; 
			echo $_COOKIE['IP']; 
		} else {
			echo "nie utowrzono ciastka"; 
		}
		echo $formTrue; 
	} else {
		echo $form; 
		echo "Kod nie prawidłowy"; 
	}
	
} else {
        echo $form; 
    }
?>

Kod strony gdzie znajduje się finalna zawartość:

 
<?php
ob_start(); 
echo $_COOKIE["IP"]; 
$getKod = $_GET['kod']; 


if($getKod == "film" && $_COOKIE["IP"] == $_SERVER['REMOTE_ADDR']){
	echo "Pokaż film"; 
} else {
	echo "Brak dostępu"; 
}

?>
2

to cos slabo poczytales o tych cookie bo NIE MOZNA odczytac cookie ustawionej na innej domenie. wyobraz sobie ze odwiedzajac moja strone moge sobie czytac ciastka ktore ustwil ci fb, bank czy cokolwiek innego.

zostaje tylko zabawa we wstrzykiwanie => http://stackoverflow.com/questions/402348/getting-setting-cookies-on-different-domains-with-javascript-or-other

0

Wstrzykiwania nie użyłem, udało się umieścić obie części na jednej stronie i działa.
Dziękuje za pomoc !

1 użytkowników online, w tym zalogowanych: 0, gości: 1