PDA

View Full Version : مبتدی: امنیت اطلاعات در ارسال با متد POST



atpf67
دوشنبه 20 مهر 1394, 01:08 صبح
آیا ارسال داده ها با روش POST راه مطمئنی برای حفط داده های محرمانه هست؟ اگر نه، پس برای ارسال اینجور داده ها باید چطوری عمل کرد؟

ممنون میشم دوستان مطلع در مورد نحوه ی عملکرد این متد راهنمایی کنند.

سپاس فراوان

Unique
سه شنبه 21 مهر 1394, 01:33 صبح
یا ارسال داده ها با روش POST راه مطمئنی برای حفط داده های محرمانه هست؟ اگر نه، پس برای ارسال اینجور داده ها باید چطوری عمل کرد؟
محرمانه یعنی چی ؟ یعنی اگه کسی روی شبکه sniff کنه نتونه اطلاعات را بخونه !؟ اگه اینه که با ssl میشه ، ما اگه منظورتون اینه کسی که پشت کامپیوتر اصلی هست نتونه بخونه غیر ممکنه. کلا نمیگیرم محرمانه چیه ؟

atpf67
سه شنبه 21 مهر 1394, 02:38 صبح
محرمانه یعنی چی ؟ یعنی اگه کسی روی شبکه sniff کنه نتونه اطلاعات را بخونه !؟ اگه اینه که با ssl میشه ، ما اگه منظورتون اینه کسی که پشت کامپیوتر اصلی هست نتونه بخونه غیر ممکنه. کلا نمیگیرم محرمانه چیه ؟

منظورم از محرمانه داده های شخصی کاربر مثل یوزر و پسورد هست.

H:Shojaei
سه شنبه 21 مهر 1394, 08:27 صبح
منظورم از محرمانه داده های شخصی کاربر مثل یوزر و پسورد هست.
امنیت کلی وب سایتتون رو که تو موارد مختلف php html javascript درست پیاده سازی کنید داده های شخصی کاربرا که تو دیتابیس هستن و از روشهای مختلف میشه دیتابیس رو هک کرد جلوش گرفته میشه با این امنیت..

atpf67
سه شنبه 21 مهر 1394, 14:23 عصر
سپاسگزارم دوست عزیز، من برای جلوگیری از SQL Ijection از تابع mysqli_real_escape_string برای امن کردن کوئری ها استفاده کردم و همچنین برای امن کردن داده های خروجی هم از تابع htmlspecialchars استفاده کردم، ممنون میشم اگر روش های دیگه ای هست که در کنار اینها به امنیت کار کمک میکنه بیان کنید.

اما راستش آنچه من توی این تاپیک مد نظرم بود این بود که ما توی متد GET میتونیم پارامتر ها و مقدارشون رو خیلی راحت ببینیم و تغییر بدیم:


http://mydomain.ir/test.php?username=admin&pass=123456


آنچه مسلم هست اینکه این روش برای انجام کارهای مهم مثل لاگین کردن اصلاً درست نیست، حالا سوال اصلی من اینه:
امنیت اون username و pass توی ارسال داده ها با متد POST چقدر نسبت به متد GET بیشتره و اینکه آیا تنها ارسال این داده ها با متد POST برای "تأمین امنیت داده هنگام ارسال تا قبل از رسیدن به سرور" کافیه یا اینکه باید کار دیگه ای هم سمت کلاینت انجام بشه؟


135999

Unique
سه شنبه 21 مهر 1394, 15:31 عصر
امنیت اون username و pass توی ارسال داده ها با متد POST چقدر نسبت به متد GET بیشتره و اینکه آیا تنها ارسال این داده ها با متد POST برای "تأمین امنیت داده هنگام ارسال تا قبل از رسیدن به سرور" کافیه یا اینکه باید کار دیگه ای هم سمت کلاینت انجام بشه؟

فرق POST با GET اینه که مقادیر به جای URL توی header ها ارسال میشن ، عموما کسی از GET برای فرم لاگین استفاده نمیکنه. چون ممکنه کسی کنار کاربر باشه و مقدار را ببینه ! اما اینکه با POST ارسال بشه معنیش این نیست که نمیشه اطلاعات را دید. مثلا میتونید پلاگین LiveHtpheaders فایرفاکس را نصب کنید و این header ها را ببینید.

من از سوال شما استنباط میکنم منظورتون اینه که اگه کسی شبکه ما را شنود کنه یا روی router ی که ازش رد میشه شنود بگداره میتونه اطلاعات POST را ببینه !؟ پاسختون بله هستش چون شما دارین اطلاعات را Plain Text یا همون متن خام میفرستین ، اگه برای سایتتون SSL بگیرین اطلاعات کد میشن و کسی نمیتونه بهشون دسترسی پیدا کنه. بانک ها و سایت های بزرگ به همین دلیل از SSL استفاده میکنند.

atpf67
سه شنبه 21 مهر 1394, 15:52 عصر
من از سوال شما استنباط میکنم منظورتون اینه که اگه کسی شبکه ما را شنود کنه یا روی router ی که ازش رد میشه شنود بگداره میتونه اطلاعات POST را ببینه !؟

بله بزرگوار من دقیقاً منظورم همین بود و شما خیلی خوب و واضح توضیح دادین، اول بابت گنگ بودن سوالاتم معذرت می خوام (تا وارد حوزه ی وب نویسی شدم و با مفاهیم اون به خوبی آشنایی ندارم) و در آخر هم از شما سپاسگزارم که با حوصله پاسخ بنده رو دادین.:قلب: