-
September 30th, 2017, 22:05
#1
ارسال اطلاعات از طریق فرم ( متد post ) یا خواندن از دیتابیس ؟
با سلام
سوالی داشتم. من یک سبد خرید برای سایتم نوشتم و حال میخوام از طریق سبد خرید اطلاعاتی رو استخراج کنم مثل قیمت ، نام کالا ، تعداد خرید و ... .
حال سوالم اینه که بهتره بیامتمام این اطلاعات رو از طریق یک فرم برای صفحه سبد خرید ارسال کنم یا یک کد مثلا آیدی رو با فرم ارسال کنم و در صفحه سبد خرید داخل دیتابیس جستجو کنه و اطلاعات مورد نیازش ( مثل قیمت ، نام کالا ، تعداد خرید و ... ) رو استخراج کنه ؟
در حالت دوم فشار به دیتابیس نمیاد ؟ کدوم راه امنتره ؟ راه دیگه ای میتونین پیشنهاد بدین ؟
-
-
September 30th, 2017 22:05
# ADS
-
September 30th, 2017, 22:24
#2
پاسخ : ارسال اطلاعات از طریق فرم ( متد post ) یا خواندن از دیتابیس ؟
ذر حالت اول امنیت صفره چون یک کاربر شیطون میتونه برای خودش قیمتارو کم و زیاد کنه
بهترین حالت :
بعد از کلیک روی سبد خرید آی دی هر محصول توی یک کوکی به صورت آرایه json اضافه بشه که این آرایه باید دو بعدی باشه یکی آیدی محصول یکی هم تعداد که به صورت پیشفرض 1 باشه
توی سبد خرید این آرایه باز میشه و محصولاترو با یک کوئری بیرون میکشه و بقیه ماجرا
اما بحث فشار روی سرور:
اگر دیتابیستون حتی 1 میلیون رکورد هم داشته باشه و روی یک سیستم معمولی باشه اگر روی فیلد آی دی (از نوع عددی یا int) ایندکس گذاری درست انجام بشه انجام این کوئری با فرض اینکه کاربر(مشتری) حتی 20 محصول مختلف هم توی سبد داشته باشه کمتر از 0.001 ثانیه تموم میشه و هیچ فشاری هم روی سرور نمیاد
اینو طبق تجربه با php mysql و pdo میگم
که امیدوارم اگر دارید با php مینوسید حتما حتما از pdo استفاده کنید چون سرعتش از mysqli خیلی خیلی بیشتره مخصوصا توی کار های گنده
اگر هم با دات نت یا سایر زبان ها کار میکنید باز هم با انجام ایندکس گذاری صحیح هیچ فشاری روی سرور نیست.
-
تعداد تشکر ها از bigcowboy به دلیل پست مفید
-
September 30th, 2017, 22:28
#3
پاسخ : ارسال اطلاعات از طریق فرم ( متد post ) یا خواندن از دیتابیس ؟

نوشته اصلی توسط
bigcowboy
ذر حالت اول امنیت صفره چون یک کاربر شیطون میتونه برای خودش قیمتارو کم و زیاد کنه
بهترین حالت :
بعد از کلیک روی سبد خرید آی دی هر محصول توی یک کوکی به صورت آرایه json اضافه بشه که این آرایه باید دو بعدی باشه یکی آیدی محصول یکی هم تعداد که به صورت پیشفرض 1 باشه
توی سبد خرید این آرایه باز میشه و محصولاترو با یک کوئری بیرون میکشه و بقیه ماجرا
اما بحث فشار روی سرور:
اگر دیتابیستون حتی 1 میلیون رکورد هم داشته باشه و روی یک سیستم معمولی باشه اگر روی فیلد آی دی (از نوع عددی یا int) ایندکس گذاری درست انجام بشه انجام این کوئری با فرض اینکه کاربر(مشتری) حتی 20 محصول مختلف هم توی سبد داشته باشه کمتر از 0.001 ثانیه تموم میشه و هیچ فشاری هم روی سرور نمیاد
اینو طبق تجربه با php mysql و pdo میگم
که امیدوارم اگر دارید با php مینوسید حتما حتما از pdo استفاده کنید چون سرعتش از mysqli خیلی خیلی بیشتره مخصوصا توی کار های گنده
اگر هم با دات نت یا سایر زبان ها کار میکنید باز هم با انجام ایندکس گذاری صحیح هیچ فشاری روی سرور نیست.
از شما خیلی خیلی ممنونم. با php کار میکنم.
راستش من گفتم بیام از طریق فرم ، زمان ایجاد اون پست ( صفحه کالا ) رو به صفحه سبد خرید بفرستم بعد از طریق همون کد داخل دیتابیس سرچ کنم و اطلاعات دیگه رو استخراج کنم. بنظرتون این روش هم مشکل داره؟
-
-
September 30th, 2017, 22:37
#4
پاسخ : ارسال اطلاعات از طریق فرم ( متد post ) یا خواندن از دیتابیس ؟

نوشته اصلی توسط
T.G.B.Barsam
از شما خیلی خیلی ممنونم. با php کار میکنم.
راستش من گفتم بیام از طریق فرم ، زمان ایجاد اون پست ( صفحه کالا ) رو به صفحه سبد خرید بفرستم بعد از طریق همون کد داخل دیتابیس سرچ کنم و اطلاعات دیگه رو استخراج کنم. بنظرتون این روش هم مشکل داره؟
ببینید روشتون بستگی به کاری می خواید بکنید داره ولی من تاحالا ندیدم که برای استخراج اطلاعاتی مثل یک کالا در فروشگاه با استفاده از زمان ایجاد پست (time stamp) توی دیتابیس سرچ بشه !
معمولا از یک فیلد عددی از نوع primary auto increment برای آی دی استفاده میکنند
این روش شما خیلی خیلی غیر متعارفه !
ولی خوب آزادید که هر کاری بکنید
اینجارو یک نگاه بندازید
لینک اصلاح شد
http://w3web.persianblog.ir/post/69
ویرایش توسط bigcowboy : September 30th, 2017 در ساعت 22:40
دلیل: لینک اصلاح شد
-
تعداد تشکر ها از bigcowboy به دلیل پست مفید
-
September 30th, 2017, 22:40
#5
پاسخ : ارسال اطلاعات از طریق فرم ( متد post ) یا خواندن از دیتابیس ؟
چون تاریخ ایجاد بصورت تایم استمپ ذخیره میشه یک کد یکتا ایجاد میکنه. فرقی نداره از آیدی هم میشه استفاده کرد در کل اصول استفاده از این روشی که گفتم رو میخواستم ببینم منطقی هست یا نه؟ امنیتی داره یا نه؟
-
-
September 30th, 2017, 22:43
#6
پاسخ : ارسال اطلاعات از طریق فرم ( متد post ) یا خواندن از دیتابیس ؟

نوشته اصلی توسط
T.G.B.Barsam
چون تاریخ ایجاد بصورت تایم استمپ ذخیره میشه یک کد یکتا ایجاد میکنه. فرقی نداره از آیدی هم میشه استفاده کرد در کل اصول استفاده از این روشی که گفتم رو میخواستم ببینم منطقی هست یا نه؟ امنیتی داره یا نه؟
اگر دو محصول در یک زمان وارد بشن timestamp یکی هست و باز هم به مشکل بر میخورید
بهتره که از id یونیک استفاده بشه
-
تعداد تشکر ها از bigcowboy به دلیل پست مفید
-
September 30th, 2017, 22:44
#7
پاسخ : ارسال اطلاعات از طریق فرم ( متد post ) یا خواندن از دیتابیس ؟
پس روشی که عرض کردم از لحاظ امنیتی مورد تایید هست ؟ مشکلی در حین ارسال اطلاعات بوجود نمیاد ( از طریق کاربر ) ؟
-
-
October 1st, 2017, 01:03
#8
پاسخ : ارسال اطلاعات از طریق فرم ( متد post ) یا خواندن از دیتابیس ؟

نوشته اصلی توسط
T.G.B.Barsam
پس روشی که عرض کردم از لحاظ امنیتی مورد تایید هست ؟ مشکلی در حین ارسال اطلاعات بوجود نمیاد ( از طریق کاربر ) ؟
نه مشکلی از اون نظر پیش نمیاد
-
تعداد تشکر ها از bigcowboy به دلیل پست مفید
-
October 1st, 2017, 19:25
#9
عضو جدید
پاسخ : ارسال اطلاعات از طریق فرم ( متد post ) یا خواندن از دیتابیس ؟
از jquery استفاده کنید و برای ثبت در یک تیبل جداگانه درخواست ها را ثبت کنید
امنیت اینجوری بالا تر میره
-