مخفی کردن اسم فایل ها و فولدرها در نوار آدرس در php

lady64

New Member
با سلام و خسته نباشید.گاهی اوقات در php لازمه که بین دو صفحه با query string اطلاعاتی رو منتقل کرد.در این صورت اسامی در نوار آدرس دیده میشوندو اطلاعات فاقد امنیت میشوند.کدی وجود داره که نام فایل ها و ... رو در نوار آدرس مخفی میکنه و فقط نام اصلی سایت قابل مشاهده هست.جستجو کردم اما نتیجه ای حاصل نشد.ممنون میشم پاسخ بدید.
 

ziXet

مدیر انجمن PHP/MYSQL
با سلام و خسته نباشید.گاهی اوقات در php لازمه که بین دو صفحه با query string اطلاعاتی رو منتقل کرد.در این صورت اسامی در نوار آدرس دیده میشوندو اطلاعات فاقد امنیت میشوند.کدی وجود داره که نام فایل ها و ... رو در نوار آدرس مخفی میکنه و فقط نام اصلی سایت قابل مشاهده هست.جستجو کردم اما نتیجه ای حاصل نشد.ممنون میشم پاسخ بدید.
راه دیگرش هم استفاده از curl و متد POST هست
 

Army.Hidden

Active Member
با سلام و خسته نباشید.گاهی اوقات در php لازمه که بین دو صفحه با query string اطلاعاتی رو منتقل کرد.در این صورت اسامی در نوار آدرس دیده میشوندو اطلاعات فاقد امنیت میشوند.کدی وجود داره که نام فایل ها و ... رو در نوار آدرس مخفی میکنه و فقط نام اصلی سایت قابل مشاهده هست.جستجو کردم اما نتیجه ای حاصل نشد.ممنون میشم پاسخ بدید.

با سلام
خیلی سعی کردم دلیل امنیتی شما رو برای انجام این کار متوجه بشم ولی متوجه نشدم.
شما با این کار سوال رو جواب نمیدید بلکه دارید خود سوال رو پاک میکنیم !
بنظر شما اگر به این گونه ای که دارید میگید از متد GET استفاده بشه تاثیری توی امن بودن سایت داره !!!
کسی که داره روی سایت شما Attack انجام میده بیشتر از چند ثانیه طول نمیکشه که متوجه میشه دارید چکار میکنید .
نگاهتون رو به مباحث Security توی Web application تغییر بدید.
+ بیشتر مطالعه کنید .

موفق باشی دوست عزیز
 

lady64

New Member
امنیت داده های انتقالی توسط query string

شاید بهتره سوالم رو این طور مطرح کنم.وقتی مجبوریم فقط بین دو صفحه با query string حرکت کنیم و اطلاعات رو منتقل نمائیم ، کد و یا اطلاعات دیگر در نوار آدرس مشاهده میشود(مثلا id=1 ) شاید بگید میشه از session استفاده کرد، ولی من یک جدول از اطلاعات افراد دارم که میخوام وقتی روی کلمه یا دکمه ی حذف که روبروی نام هر شخص هست،کلیک میکنم به صفحه بعد بره و اطلاعات شخص رو حذف کنه و .....
از input بصورت hidden هم نمیشه استفاده کرد ، چون با view suorce مشخص میشه.
از طرفی نمیشه در یک طرف بعنوان مثال مقدار id را incode کرد ، زیرا قابل decode کردن هست.
در حقیقت سوال من اینه که بهترین پیشنهاد برای امنیت این کار چیه ؟ ممنون میشم راه حل هایی رو که ارائه دادید بیشتر توضیح بدید ، چون روش استفاده از اونها رو نمیدونم.
 

Army.Hidden

Active Member
ببینید شما میتونید به صورت معمولی ارسال کنید . توی ارسال اطلاعات زیاد بحث نمیکنم.
فکر کنید شما مقدار زیر رو به صورت متد GET ارسال کردید
کد:
site.com?userid=1234
شما در اولین کاری که باید انجام بدید از نظر امنیتی این هست که بدونید مقداری که باید بگیرید int هست یا string در قدم بعدی باید ببینید مقداری که دریافت کردید از نظر ورودی صحیح است یا نه (‌منظورم int = int و یا string = string است )
در صورتی که در مقدار دریافتی مشکلی مشاهده کردید باید عمل فیلترینگ رو روی داده های دریافت شده انجام بدید
==== > توضیحات :
برای انجام Filtering روی داده های ورودی میتونید از توابع زیر استفاده کنید
()htmlspecialchars

برای فیلتر کردن کد های HTML مورد استفاده قرار میگیرد
()addslashes
میتواند از حملات مثل Sql injection و Xss جلوگیری کند
()intval
خروجی را به صورت int ارسال میکند
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
توضیحات کاملتر در مورد این توابع رو توی php.net بخونید.

استفاده درست از توابع بالا تا حد زیادی از حملات رو جلوگیری میکنه.

قدم بعدی هم باید چک کنید ببینی مقدار وارد شده بزرگتر از حد انتظار نباشه مثلا : 9000000000*n

البته باید بگم که گستردگی این موضوع توی web app خیلی بیشتره.توی فروم های امنیتی تحقیق کنید.

+ مطالعه یادتون نره ( یکی از دوستان حرف قشنگی میزنه . میگه : منابع آموزشی که در اختیار یک نفوذگر واقعی هست در اختیار همه هست !!! )
 

جدیدترین ارسال ها

بالا