PDA

View Full Version : ایراد عجیب در دو فایل با یک ساختار



IMANAZADI
چهارشنبه 01 مرداد 1393, 21:57 عصر
با سلام
یک سوال بدجوری اذیتم میکنه


کد های زیر رو در نظر بگیرید
کد صفحه pag1.php با کد صفحه page2.php برابر است و تنها فرق اینه که page1.php در root هست و page2.php در دو پوشه داخل روت(../../page2.php)
زمانیکه page1 اجرا میشه درست جواب میده ولی وقتی فایل page2 اجرا میشه جواب متفاوت است
لطفا بگید مشکل از کجاست ؟؟؟
خیلی تاجور درگیرشم


page1.php




<?php
session_start();


$time=time();
$hash1=md5($time);

setcookie("security",$hash1,time()+3600);
$_SESSION["hashh"]=$hash1;

$ip=$_SERVER["REMOTE_ADDR"];
$_SESSION["ip"]=$ip;

$hash2=md5($hash1.$ip);

$_SESSION["security"]=$hash2;


session_regenerate_id(true);
header("Location:000.php");






?>





page2.php




<?php
session_start();
$time=time();
$hash1=md5($time);



setcookie("security",$hash1,time()+3600);

$_SESSION["hashh"]=$hash1;

$ip=$_SERVER["REMOTE_ADDR"];
$_SESSION["ip"]=$ip;

$hash2=md5($hash1.$ip);

$_SESSION["security"]=$hash2;


session_regenerate_id(true);

header("Location:../../000.php");




?>





000.php


<?php
session_start();






$hash1=$_COOKIE["security"];
$ip=$_SERVER["REMOTE_ADDR"];
$hash2=md5($hash1.$ip);




echo $hash1."<br>";
echo $_SESSION["hashh"]."<br>";


echo $ip."<br>";
echo $_SESSION["ip"]."<br>";


echo $hash2."<br>";
echo $_SESSION["security"]."<br>";






?>

vahidqara
چهارشنبه 01 مرداد 1393, 22:06 عصر
درود.. الان منظورت کدام کد هست آیا؟!!

IMANAZADI
پنج شنبه 02 مرداد 1393, 07:17 صبح
در page2.php کوکی ست نمیشه ؟؟؟
دلیلش چیه ؟؟

IMANAZADI
پنج شنبه 02 مرداد 1393, 07:53 صبح
با تغییر کد در page2.php
از


setcookie("security",$hash1,time()+3600);



به




setcookie("security",$hash1,time()+3600,'/');

درست شد
کار '/' چیه ؟؟؟

زمان آپلود سایت هم باید به همین صورت باشه یا باید '/' برداشته بشه

vahidqara
پنج شنبه 02 مرداد 1393, 09:48 صبح
درود ..

path The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.

IMANAZADI
پنج شنبه 02 مرداد 1393, 10:02 صبح
اینو خوندم ولی منظورشو متوجه نشدم