سؤال

على سبيل المثال: http://stackoverflow.com/questions/396164/exposing-database-ids-security-risk و http://stackoverflow.com/questions/396164/blah-blah الأحمال نفس السؤال.

(أعتقد أن هذا هو DB الهوية من الأسئلة الطاولة ؟ هو هذا المعيار في ASP.NET?)

ما هي إيجابيات وسلبيات استخدام هذا النوع من النظام الخاص بك على شبكة الإنترنت التطبيق ؟

هل كانت مفيدة؟

المحلول

حسنا، لأحد، وهوية بسيطة وعادة ما تكون متتابعة، لذلك فمن السهل للغاية لتخمين على واسترجاع البيانات الأخرى من التطبيق الخاص بك.

JSON تحميل في وقت التشغيل بدلا من حيوي عبر AJAX https://stackoverflow.com/questions/395858/doesnt-matter-what-I- اكتب هنا

والآن، وقد قلت ذلك، التي يمكن أن ينظر إليه على أنه مكافأة، لأن لا أحد في كامل قواه العقلية من شأنه أن يجعل المفصلي الأمن كله على حقيقة أن لديك لصلصلة على الرابط للوصول الى الخاص بك تأمين البيانات ، والاكتشاف وبالتالي من السهل للبيانات قد تكون جيدة.

ولكن بفارق نقطة واحدة هي أن كنت في مرحلة ما سوف الفهرسة قاعدة البيانات الخاصة بك، وجود شيء أن يجعل من شأنه أن عنوان الموقع القديم غير صالحة تكون سيئة، إن لم يكن لسبب آخر أن محركات البحث لا تزال لها صلات قديمة.

وأيضا، وهنا على SO أنه من الطبيعي جدا للاستخدام وصلات من هذا القبيل على أسئلة أخرى، حتى إذا كانوا في مرحلة ما تريد الفهرسة وبالتالي ترقيم الأشياء (أو الانتقال إلى ارشد)، وأنها سوف لا تزال لديها للحفاظ على الهيكل القديم و البائع.

والآن، ومن المرجح أن يحدث في أي وقت أو تكون هناك حاجة إلى ذلك؟ ربما لا.

وأود أن لا تقلق كثيرا حول هذا الموضوع، مجرد بناء الأمان كما لو يعرف كل نقطة الدخول إلى التطبيق الخاص بك، وينبغي أن يكون هناك أي مشاكل.

نصائح أخرى

  1. قاعدة البيانات معرف يستخدم في بحث المسألة في قاعدة البيانات الخاصة بنا.إنه العددي الذي يعني:سريع.لو ترك ذلك كان البحث عن العنوان الذي هو أبطأ كثيرا.

  2. السؤال في حد ذاته هو جزء من عنوان url إلى جعله "محرك بحث ودية".سيكون أعلى مرتبة حسب ز**gle.... الخ

برو:

  • السوبر سهلة لاسترداد معلومات الصفحة.اتخاذ معرف استدعاء قاعدة البيانات ، فيولا.الجدول الخاص بك سوف (يجب) أن تكون مفهرسة لجعل هذا البحث بسرعة فائقة.
  • مضمونة URL فريدة من نوعها.

Con:

  • معرفات في النظام الخاص بك يتم عرضها علنا.لا مشكلة في للجمهور نظام مثل ذلك.بيد أن التدابير الأمنية المناسبة على النهاية الخلفية يمكن أن تجعل هذه ليست مشكلة حتى في الأنظمة الحساسة.
  • عناوين قبيحة.6+ أرقام هي فقط من الصعب أن نتذكر ، يجعل من الصعب التمييز بين صفحات ، إذا كان الرقم هو الذي يحدد ذلك.هذا يمكن أيضا كبار المسئولين الاقتصاديين العواقب ، مثل عناوين المواقع مع أكثر أهمية المعلومات تنظيما جيدا عموما في المرتبة أفضل.حتى يعوض من خلال توفير اسم آخر في URL كذلك.في حين كنت لا تزال لا يمكن أن حشرجة الموت قبالة وظيفة معينة إلى صديقي في الغداء, أنا لا تزال تجد أنه من الأسهل في تاريخ المتصفح.
  • تباطؤ عمليات البحث.القيام النص عمليات البحث على قاعدة البيانات عموما أبطأ.

ولكن تذكر في مجتمع مثل هذا هناك أعلى (وإن كانت لا تزال ضئيلة) فرصة التي تحمل الاسم نفسه السؤال نشرها في الوقت نفسه، والذي من شأنه كسر الأشياء، وبالتالي نوعا من هوية فريدة من الضروري تطبيق، وID هي على الارجح منطقي جدا في السياق الذي وضعت هذا التطبيق ويب معين في.

أنا لا اعتقد انه سوء الممارسة شائعة إلى حد ما ، على أن تفعل ذلك في ASP.NET وغيرها من الأطر.كما @lassevk قال: إذا كان الأمن يعتمد على ذلك, ثم كنت بحاجة الى بعض المزيد من الشيكات هناك (يمكن المستخدم X الحصول على سجل Y), ولكن أكثر ذلك يأتي نزولا إلى كبار المسئولين الاقتصاديين friendlyness من عناوين المواقع العامة.

على سبيل المثال, و كذلك عناوين url إلى حد ما ودية:

إيجابيات وسلبيات استخدام DB معرف في رابط ؟

جوجل معدلات المعلومات في بداية عنوان URL أعلى مما كانت عليه في النهاية ، بعد ذلك تبدو مثل:

https://stackoverflow.com/pros-and-cons-of-using-db-id-in-the-url/q/407120

يجب أن تحصل على مرتبة أعلى "إيجابيات وسلبيات استخدام db معرف في url".إنه ليس العامل الوحيد ، ولكن الأمر يختلف تماما رئيسي واحد - انظر أمازون شكل يفعلون ذلك لسبب وجيه جدا:

http://www.amazon.com/Maverick-Ricardo-Semler/dp/0712678867

http://server/book-name/dp/book-id

وورد يفعل مثل هذا:

http://server/yyyy/mm/dd/name-of-the-post

ومع ذلك ، إذا قمت بنشر وظيفتين في نفس اليوم يسمى "فو" ، يمكنك الحصول على:

http://server/yyyy/mm/dd/foo

http://server/yyyy/mm/dd/foo2

سبيكة (foo/foo2) ليس PK, لكنها حافظت فريدة من نوعها على وظائف الجدول.

أعتقد أن وضع الهوية في URL ليست مشكلة إلا إذا كان عنوان URL الخاص بك هو GUID!الطريق طويل جدا, و من الصعب نوع.إذا كان الباحث ، أو نوع من القصير guid (على سبيل المثال 6-8 حرف) ، ثم فإنه لا ينبغي أن يكون مشكلة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top