تشفير كلمة السر ب md5 بلغة php

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

أنا أستخدم هاتين الدالتين:

لعمل الهاش

password_hash()

وللتحقق من تساوي مدخلات الهاش

password_verify()

وهي تعمل (هاش) جاهز وأكثر أمانا.

هذا هو المعيار القياسي للتشفير في لغة PHP ولا أعلم لماذا يقلق المطورون المبتدئون كثيرا من ناحية قوة التشفير ، فالمخترق قد يستغل الكثير من الثغرات لسرقة الحسابات ومنها XSS و CSRF و Clickjacking .... بدون ذكر الطرق الأخرى التي تعتمد على الهندسة الاجتماعية والخداع وخلافه.

صحيح أن تشفير البيانات الخاصة شيء سري للغاية ، لكن عدم تأمين الموقع ضد الثغرات الشهيرة على الأقل OWASP TOP 10 هو أمر كارثي.

لكن عدم تأمين الموقع ضد الثغرات الشهيرة على الأقل OWASP TOP 10 هو أمر كارثي.

شكرا لك على الكلمة المفتاحية "OWASP TOP 10" , قمت بالبحث عنها و وجدت مصادر كثيرة تشرحها و تشرح الحماية منها .

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

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

نعم , قمت بإعطائه طريقة أفضل من التي يستعملها فقط , لا أعلم إن كانت هناك طرق أفضل منها أم لا , و السبب أني لم أدخل بعد في مجال حماية المواقع (مبتدأ) .

على الهامش :

  • في موضوع سابق قلت أنك قمت بخوارزمية لعمل رسم بياني يوضح مدى تطور حسوب أو العكس , ما هي النتائج , أريد أن أعاينها إن أمكن ؟

  • هل لك أن تخصص لنا موضوع هنا في حسوب عن حماية المواقع من تجاربك ؟ يعني أنواع الثغرات و كيفية الحماية منها ؟

أيضا لاأعرف الكثير عن التشفير.. ما أعرفه هو الحد الأدنى الذي أحتاجه حاليا (طبعا أريد بشدة أن أعرف بعمق عن التشفير...)

-عن node ماذكرته أعتقد أنه الأفضل حاليا..

فقط في ال PHP.. التشفير ب md5 ليس أمنا إطلاقا.. لأنه بالفعل موجود العديد من الطرق لفكها... أبسط مايمكن إستخدامه هو قوائم ال md5.. ولهذا علاقة بأهمية إستعمال ال(الملح) وسأذكر ماأعرفه عن هذا الخصوص في مشاركة قادمة، فمرحبا.. (القليل ماأعرفه لذلك لايجب الإعتماد علي)...

حاليا في الPHP من الأفضل إستخدام:

أو


ما يخص الخوارزمية.. بالفعل قمت بإستخراج 10% من البيانات (لأن ذلك يحتاج الكثير من الوقت، لأن حسوب فيه أكثر من 98000 مشاركة وأكثر بكثير هو عدد التعليقات)... الذي جعلني أتوقف في 10% هو عدم إستطاعتي إستخدام vps لهذا الغرض (الكل يطلب الأموال ولا يوجد بديل مجاني مناسب وصالح)... وكنت قد نسيت الأمر لأن سؤالي ذلك لم يتم الرد عليه وكنت إنشغلت بشيء أخر، لكن للتو (اليوم) فقد قمت بتدبير الأمر وغدا سيكون جميع البيانات التي أحتاجها لدي، إن شاء الله...

--> قمت بتحليل ال 10% من البيانات وفعلا في البداية كان حسوب يتطور بشكل جيد.. لكن ماذا عن 90% الباقية ياترى... أيضا قمت بتحليلها للمعرفة أكثر الأيام نشاطا على حسوب والساعات.. وأشياء أخرى...

بالنسبة للي فلا مشكلة في مشاركة تلك البيانات الضخمة الجميلة (ك Json ليتمكن من يريد التعامل معها والتعلم من ذلك ولو..)... لكن ماذا عن الإدارة في حسوب؛ لاأعرف..

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

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

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

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

بالتوفيق لك.

أنا لا أقوم بالإحتفاظ ب النصوص... ماأقوم بالإحتفاظ به في Json هو: id المشاركة أو التعليق - المجتمع الموجود فيه (سواء مشاركة أو تعليق) - التاريخ - عدد الupvote و عدد التعليقات بالنسبة للمشاركات... هذه هي المعلومات التي أهتم بها... لاأعرف هل ستكون كافية لحاجتك..!

كانت لدي خطة في الإحتفاظ ب المحتويات النصية لمعالجتها والإستمتاع بعمل أشياء شبيهة بما في مدونة جرس

لكن ذلك فعلا يحتاج إلى وقت أكثر و vps مدفوع (لجلب وتحليل البيانات النصية)...


كشركة - لا يجب على خوارزمية مراهقة أن تشكل أي مشكلة لها...

وصاحب المشاركة أو التعليق أيضا (نسيتها).

أنا لا أقوم بالإحتفاظ ب النصوص... ماأقوم بالإحتفاظ به في Json هو: id المشاركة أو التعليق - المجتمع الموجود فيه (سواء مشاركة أو تعليق) - التاريخ - عدد الupvote و عدد التعليقات بالنسبة للمشاركات... هذه هي المعلومات التي أهتم بها... لاأعرف هل ستكون كافية لحاجتك..!

شكرا لك , للأسف لا تكفي فأنا أحتاج إلى العناوين المواضيع لكي أفلترها ... ما قمت بإستخراجه أنت هو الأرقام و الترابط بينها (أي أن ال json كله أرقام) و هو مناسب جدا للخوارزمية التحليلية التي تعمل عليها .

كانت لدي خطة في الإحتفاظ ب المحتويات النصية لمعالجتها والإستمتاع بعمل أشياء شبيهة بما في مدونة جرس

المدونة رائعة خصوصا طريقة التحليل المعتمدة و العرض .

هذا التعليق مجرد خطأ تم تداركه

  • موقع php يضع تحذير من استخدام الهاش md5 في العمليات الخاصة بتخزين كلمات المرور لإن العمليات على تلك الخوارزمية سريعة جداً ومع الأجهزة الحديثة باتت سهلة للغاية، وأيضاً ظهرت مشكلة من استخدام الهاش md5 وهو سقوط أحد مبادي الهاش وهو "مبدأ عدم التصادم" "Collision resistance" وهو يعني أن السلسة النصية الناتجة بعد عملية الهاش يجب ألا تتطابق عند عمل هاش لأي من السلال النصية المختلفة ولكن في md5 يمكن أن يتطابق الهاش الناتج لسلاسل نصية مختلفة مما يعني يمكن إيجاد سلال نصية تنتج نفس الهاش.

  • استخدام أحد الخوارزميات التي تحتاج وقت أطول في عملية الهاش تعيق العملية التي تتم للحصول على النص الأصلي كأمثلة bcrypt أو blowfish ودالة password_hash في لغة php تستخدم بشكل افتراضي الـ bcrypt

  • في حالة اختراق الخادم والوصول للـ salat ستكون العملية العكسية للحصول على كلمات المرور مثلاً لاستخدامها في مواقع أخرى سهلة، ولكن مع استخدام خورزميات أخرى سيكون الأمر أصعب فلهذا لا تعتمد على md5 في حفظ كلمات المرور استخدم password_hash في لغة php.

يجب أولاً أن تعرف لماذا تشفــّر كلمة السر للمستخدم. ماهي المخاطر التي تحاول أن تتجنبها في تشفير كلمـة السر للمستخدمين.

أنت تشفـر كلمة السر من باب الأمانة حتى لا يحق لك، ولا لموظفيك معرفة كلمات مستخدميك السرية وحساباتهم. خصوصاً ان غالبية الناس مثلاً تستخدم كلمة سر واحدة مثلاً كلمة سر حسابي في حسوب هي نفسها للبريد الإكتروني .. ألخ.

ثاني سبب إذا قام أحد باختراق جزء من قاعدة البيانات فهو لا يستطيع أن يرى كلمات سر المستخدمين.

تشفير كلمة مرور المستخدمين جزء من قائمة أمنية لحماية بيانات المستخدمين.

بالنهاية طريقتك جيدة وتفي بالغرض.

لا أعلم كيف تجري الأمور في ال php , لكن لما لا تستخدم مكتبات مخصصة للتشفير , ﻷن المكتبات دائما ما يتم تحديثها .

مثلا في ال node.js هناك موديل إسمه bcrypt يقوم بتشفير كلمات المرور , و يضيف إليها salt الذي هو عبارة عن حروف عشوائية العدد و القيمة تضاف إلى مقدمة الكلمة المشفرة , و كذلك بإمكانك تحديد مستوى التشفير و كلما رفعت المستوى كلما إستغرق السيرفر وقت أطول في التشفير قد تصل من مليثواني إلى أيام .

وجدت هذا التعليق الذي يدعم ما أقول :

لا أستطيع أن أحكم على طريقتك , لكنني أفضل أن أستخدم طرق منهجية للتشفير .

  • قد أستخدم مكتبة OpenSSL

التي من خلالها يتم إنشاء Key بطريقة مميزة و كذلك ال initialization vector .

  • أو قد أستخدم طريقة تشفير في جهة واحدة وغير ممكن عكسها

مجتمع حماية واختراق ينمو في حسوب،

أتمنى أن تنتظروني ليثما اتعلم بعض الويب .

يمكنك تغير تشفير md5 الى تشفير اقوى

ادا كان عندك ورد بريس فان ورد بريس يملك خاصية تشفير قويه

الان تشفير md5 ليس له عملية فك تشفير

فقط تخمين


تطوير الويب

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

97.4 ألف متابع