كيف استطيع تصفية او تشفير المعلومات المرسلة عن طريق الواسطةpost
؟؟
وجزاكم الله خير
كيف استطيع تصفية او تشفير المعلومات المرسلة عن طريق الواسطةpost
؟؟
وجزاكم الله خير
يمكنك استخدام md5
:blink:
عفوا ولكن ماهي الmd5
ال md5 دالة للتشفير
مثلا لو عندنا حقل text واسمه str والقيمة المدخلة مثلا apple
يبقي علشان نستخرج قيمته ب ال post
$string=$_POST[str]; echo $string;
طبعا الكود السابق هيطبعلنا apple
لكن عند التشفير
$string=md5($_POST[str]); echo $string;
الكود السابق سيعطينا هذه النتيجة وهيا تشفير لكملة apple بواسطة ال md5
1f3870be274f6c49b3e31a0c6728957f
ارجو ان اكون استطعت اوصل المعلومة :)
;) طبعا
الشرح واضح
شكرررررررررررررررا لك
الشكر لله عز وجل ولو عندك اى استفسار تانى اتفضل ولا يهمك :D
ههههههههههههههه.. لماذا تقص عليه :D
صحيح نيتك صافية لكن هذا لن يقوم بتشفير البيانات المرسلة بواسطة POST.. هذا فقط سيكون md5 hash لكلمة السر التي تم ارسالها من خلال POST والتي تكونل Plain text.. وهذا الـhash يتم وضعه في قاعدة البيانات.. وهذا لا يقدم أي حماية للـPOST إنما يقدم حماية في حال تمت سرقة قاعدة البيانات فالهاكر سيجد الـhash ولن يتمكن من معرفة الكلمة الحقيقية التي كونت الhash الا بعد brute force او استخدام تقنيات اخرى
الخلاصة خاصية md5 في الphp او اي server side script لا يقوم بتشفير البيانات المرسلة.. عندك بصفة عامة اختيارين:
1- تستخدم HTTPS
2- تستخدم JavaScript يقوم بتطبيق نظام شبيه بالـ CHAP او مايسمى بال challenge handshake authentication protocol.. كنت أفكر في طريقة معينة لتطبيق هذا بالجافا اسكربت وخرجت بنتيجة لكن لم اطبقها عمليا لاني انشغلت بأشياء اكثر أهمية.. ربما سأطبقه عمليا لاحقا
إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.
before asking: smart questions how-to
ممكن تشرحلنا التشفير بالطريقة الاولى https
HTTPS يستخدم SSL
تحتاج إلى Certificates. والشركات او المواقع الجادة تستخدم هذا النوع من التشفير في البيع والشراء.. مثلا لو تدخل amazon.com وتقوم بLogin ستجد قفل اصفر يظهر في متصفح الإنترنت معناه ان الموقع مشفر بالـSSL وفي فاير فوكس يتلون الaddress bar بالأصفر ليخبرك بذلك.. و ايضا لو تلاحظ بدلا من ان ترى http سترى https..
توجد اطنان الدروس فهذه التقنية مشهورة ومطلوبة كثيرا ولذا الدروس عليها كثيرة
http://www.google.com/search?q=how+ssl+works
بتلخيص شديد حتى يكون موقعك بشفر بالSSL لازم يكون عندك الآتي
1- خادم مواقع يدعم SSL.. معظم الخوادم المشهورة تدعمه
2- ترسل certificate sign request إلى احد المنظمات المعترفة
3- يعتمدون على طلبك ويعطونك certificate
4- تلعب بإختيارات خادم المواقع عندك بحيث يتم استخدام الSSL في التشفير
كل خطوة قصة..
إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.
before asking: smart questions how-to
موفق فى شرحك اخي العزيز
اتضحلي التشفير بالhttps ولكن زي مقلت هذا يستخدم فى الحالات الامنية شديدة الخطورة
كالتعامل بالفيزا وما الى اخره
لكن على ما اظن ان اغلب البرامج التى تحتاج تشفير مثل الvb وال kayako يستخدمون md5
ربما اكون على خطا
ومشكور مرة اخري على الشرح الوافي :)
السلام عليكم ورحمة الله وبركاته ........
طيب انا بعد ما اشفر المعلومات بواسطة الدالة md5 هل استطيع ان ارجعها الى حالتها الاولى ؟؟؟
بمعنى اذا كان لدي الرقم 90 فانني وبعد استخدام الدالة md5 سيتحول الرقم 90 الى 8613985ec49eb8f757ae6439e879bb2a
فهل استطيع الان تحويل ال 8613985ec49eb8f757ae6439e879bb2aالى اصلها اي
الى 90 مرة اخرى .
والى جانب ال md5 هناك الدالة crc32 والدالة sha1 ولكن نفس المشكلة لم اعرف كي اعيد البيانات الى اصلها :wacko: :wacko:
اخوكم Dr.Pain
مدونتي
ارسال واستقبال الكائنات عبر الشبكة
مصفوفة ادوات HTML و PHP, افكار وتلميحات
الكائنات والاحداث في PHP
كيفية عمل Array List في ال PHP
التشفير بواسطة الازاحة في PHP
كيفية عمل Backup لقاعدة بيانات MySql من PHP
وما الدنيا الا حلم كبيييييييييييييييييييييييييييير لا نستيقظ منه الا عندما نموت !!!!
طيب عرفنا فيما تستخدمها لانك ربما لا تكون بحاجة لاسترجاع اصلها :D
اقتباسلكن على ما اظن ان اغلب البرامج التى تحتاج تشفير مثل الvb وال kayako يستخدمون md5
الMD5 ليس encryption.. انما فقط يكون رقم يتكون من 16 حرفا (او بايت).. وهذا الرقم ثابت بغض النظر عن طول المدخلات.. وغير قابل للإسترجاع.. والمفروض انه يعتبر رقم unique لكل مدخل.. وهذا ليس بالتحديد unique وممكن تحدث على digest متشابهة بالرغم ان المدخلات مختلفة (لكن هذا احتمال نادر الحدوث)
md5 يستخدم في الغالب كخطوة في الAuthentication فهو بحد ذاته ليس حتى authentication انما فقط يعطيك digest او hash لكل مدخل فقط..
و في مثالك قمت بتكوين digest لكلمة السر وحفظتها في قاعدة البيانات.. لكن الكلمة السرية وصلت إليك من المستخدم plain text و ليست حتى digest.. يعني لو تقوم بsniffing ستجد الكلمة السرية كما هي
ولو فرضنا جدلا انك قمت بتصميم صفحة بالjs تقوم بحساب الdigest في متصفح الإنترنت، وثم يتم ارسال ذلك الكود إلى الخادم و قام هكر بsniffing وحصل على الdigest.. فأنت لم تقم بأي شي.. لان الهكر سيرسل الكلمة السرية بصورة digest والسيرفر سيقارنه مع digest في قاعدة البيانات وطبعا متطابقة
اقتباسطيب انا بعد ما اشفر المعلومات بواسطة الدالة md5 هل استطيع ان ارجعها الى حالتها الاولى ؟؟؟
مستحيل إلا بالbrute forcing .. يعني بالتخمين.. او انك تستخدم قاعدة بيانات تحتوي على تخمينات تم حسابها سابقا وتقوم فقط بإرسال query وسيكون اسرع.. لكن تكوين قاعدة البيانات تلك ايضا تحتاج تخمين -- يعني brute force
إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.
before asking: smart questions how-to
هذا الموضوع مغلق.