الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في الكوكيز

بدأه LibyanITGirl في 31 ديسمبر 2009 · 6 رد · 735 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

قمت بكتابة هذه الأكواد : (سأقوم بكتابة جزئية الكوكيز فقط)

login

if ($user == trim(addslashes($_POST["user"])) && $pass == trim(addslashes($_POST["pass"])) )
{
 setcookie("in", 1, time()+3600);

في صفحة التالية index.php التي ينتقل إليها يوجد هذا الكود :

<?php
if($_COOKIE['in'] == "1"){}
else{
die("You are not authrised to view this page.");
}
?>

صفحة logout التي هي بعد الصفحة السابقة

<?php
 setcookie("in", 0, time()-3600);
 echo "You are logged out";
 ?>

بهذه الطريقة ال login لا يعمل

عندما اعمل login ...لا تصل القيمة للصفحة التالية index.php

ولكن عندما اغير الكود index.php إلى الشكل التالي :

<?php
if("1"){}
else{
die("You are not authrised to view this page.");
}
?>

فإنني أستطيع الدخول login

هذه المشكلة الاولى

أما المشكلة الثانية أن ال logout لا تعمل

عندما اعمل logout المفروض انني عند الرجوع للصفحة التي قبلها لا يتم السماح لي بالدخول للصفحة....

او عندما اكتب في شريط المتصفح العنوان index.php مباشرة ....لا يسمح لي بالدخول

لكنني أستطيع الدخول وكأن الكوكيز ليست موجودة

أرجو مساعدتي

تم تعديل هذه المشاركة بواسطة LibyanITGirl في 31 ديسمبر 2009 في 04:10

lilgirllaptopsoftened2c.jpg

#2

هناك ثغره في استخدامك للكوكيز , فليس من الصواب الإعتماد على قيمة الكوكيز لإعطاء صلاحية بالدخول فيمكن لأي شخص التحكم في الكوكيز وإعطاءها القيمة التي يريدها وبذلك يمكنه الدخول إلى الموقع وكأنه مسجل المفروض إستخدام الجلسات sessions

أما الكود

if("1"){}

فهذا يعني كأن الشرط غير موجود وسيتم تنفيذ مابداخل الشرط دائما لذلك لن تفيدك عمليه تسجيل الخروج فهذا الشرط يعني ( إذا واحد إذن نفذ ) أين الشرط !!!

بالنسبه للكود :

if($_COOKIE['in'] == "1"){}

استبدليه بــ

if (isset($_COOKIE["in"])){}
−1

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#3

غيرت الكود ، لكن لم يسمح لي بالدخول

lilgirllaptopsoftened2c.jpg

#4

أخي الكريم.

أرسل لنا الملفات لمعاينتها و تحربتها.

تم تعديل هذه المشاركة بواسطة mazenwrq في 1 يناير 2010 في 06:07

#5

السلام عليكم ورحمة الله وبركاته

من ما قال الأخ bastr3

أفضل طريقة هو استخدام جلسات الـ Session

لكن جربي طبعي قيمة الـ COOKIE وشوفي عم ياخذ القيمة 1 ؟؟

بعدين تأكدي من صفحة الـ index وشوفي عم يتم التحقق من الشرط بشكل صحيح

والأفضل إرسال الملفات

#6

قمت برفع الملفات

php files.rar

lilgirllaptopsoftened2c.jpg

#7

قمت باستخدام Session وحلت المشكلة

شكرا لكم

lilgirllaptopsoftened2c.jpg

مواضيع مشابهة