
نوشته اصلی توسط
yastheme
سشن از سمت مرورگر قابل تغییر نیست و به امنیت سرور ارتباط دارد! ما فرض بر این گرفتیم که سرور امن امن است!
همانطور که میبینید سشن و کوکی در یک عملیات با هم مقایسه می شوند؛ یعنی اگر سشن یا کوکی تغییر کنند باز لاگین نخواهد شد؛
فکر کنم متوجه منظور بنده نشدید.
برای مثال در خط 10 این متغیر را استفاده کرده اید :
کد PHP:
$level=$_COOKIE["level"];
همانطور که میدانید کوکی در سیستم شخص ذخیره می شود !
حال در خط 28 از این دستور استفاده کردید :
کد PHP:
$query3="SELECT * FROM news WHERE id=$id AND level=$level limit 1";
خوب حالا فرض می کنیم مقدار کوکی level برابر با 1 باشد ! تا این جا بدون در نظر گرفتن متغیر id خیلی خوب کار می کند حال اگر من با کمی دستکاری مقدار کوکی را به 1' تبدیل کردم 100% می توانم به دیتابیس شما نفوذ کنم.
حرف من اشتباهه دوست عزیز ؟
اما چجوری می توانیم مقدار کوکی رو عوض کنیم ؟ خیلی از افزونه های مرورگر هستند که برای شما این کار را انجام می دهند.
درضمن همین افزونه ها امکان ایجاد session هم دارند ، پس میتونیم یک سشن با مقدار دلخواه ایجاد کرد ، برای مثال مقدار : test'
سوالی که از شما دارم ، در قسمتی که نوشتید //Ok یعنی دیگر نیازی به استفاده از متغیر userid نیست ؟
اگر اشتباه می کنیم بفرمایید 
- - - Updated - - -
درصورتی که نیاز هستش بفرمایید بهتون افزونه مرورگر هم معرفی می کنم.
در ضمن هر سرور از لحاظ سشن امن نیست ، این کدی که شما نوشتید نحوه ی استفاده از سشن به نوعی باگ هستش ... ما نمیتونیم فرض کنیم سرور امن هست.