PDA

View Full Version : کدام روش برای ارسال id امن تر است



boysilent
دوشنبه 16 بهمن 1391, 17:05 عصر
با سلام دوستان میخواسم بدونم که برای ارسال یه ایدی به این شکل کدام روش بهتره ارسال با سشن یا بصورت معمولی

page?id=echo $id

siavashsay
دوشنبه 16 بهمن 1391, 18:06 عصر
بستگی داره زیاد از آیدی بخواین استفاده کنین یا نه !
در هر صورت با همین روش هم میتونید مقدارتون فیلتر کنید !
مثلا اگر آیدی شما فقط عدد هست از این کد :

$id=$_GET['id'];
$id=str_replace("-","",$id);
if(!is_numeric($id)){
//return error and exit program
}
و اما اگر آیدی شما از حروف و اعداد ( فقط ) تشکیل میشن از این کد :

if(!ctype_alnum($id)){
// return error and exit program
}
موفق باشید

colors
دوشنبه 16 بهمن 1391, 18:08 عصر
با سلام دوستان میخواسم بدونم که برای ارسال یه ایدی به این شکل کدام روش بهتره ارسال با سشن یا بصورت معمولی

page?id=echo $id

بستگی به کارت داره! ولی اگه برای نمایش پست، صفحات یا ... لازم داری، همین خوبه. فقط اونطرف خوب فیلترش کن. فکر کنم تتنها is_numeric کافی باشه

Unique
دوشنبه 16 بهمن 1391, 21:41 عصر
برای چک کردن عددی بودن از توابع ctype استفاده کنید. is_numeric خیلی قابل اطمینان نیست.

parsboy
دوشنبه 16 بهمن 1391, 21:55 عصر
میشه بگید چه مزیتی داره و یه مثال هم بزنید با این تابع ممنون.

Unique
سه شنبه 17 بهمن 1391, 00:31 صبح
معمولا شماره های ID در قالب integer هستند و is_numeric برای اعشاری و هگزا و اکتا و حتی نماد های علمی کاربرد داره اما ctype_digit مطمئن میشه همه کاراکتر ها عددی هستند ! is_int کاربرد نداره چون روی string ها جواب نمیده. کلا برای چک کردن عددی بودن id بهتره از ctype_digit استفاده بشه ! حالا هر طور مایلید ...

boysilent
سه شنبه 17 بهمن 1391, 07:05 صبح
من بحث های گرفتن رو رعایت کردم یه تابع نوشتم که باید از همه اینها بگرزه ولی منظورم اینه این روش پر خطر نیست؟؟؟سشن فک کنم خیلی سرعت و میگیره؟

Tarragon
سه شنبه 17 بهمن 1391, 07:46 صبح
خیر اگر چک بشه پر خطر نیست. الان کسی بخواد به یه صفحه از شما لینک مستقیم بده چکار کنه؟ نمی تونه که سشن هارو دستکاری کنه پس بیخیال سایت شما میشه!
همین get خوبه البته اگر ایزوله بشه.