سكربت إيفاد المجاني لنقل الملفات عبر الاستضافات بواسطة بروتوكول FTP

16
احمد خطاب
  • تطوير الويب
  • 2013-12-24T16:15:08+00:00
  • المزيد
    • رابط مختصر
http://www.eefad.com

التعليقات

عرض جميع التعليقات
12
رائد الخربوش
  • 2013-12-24T17:43:59+00:00
  • المزيد
    • رابط مختصر

لم أقرأ الكود بشكل كامل و لم أجربه للآن. كنت من مبرمجي PHP لكن تركتها :)

بشكل سريع رأيت :

function create_password($len) { //دالة توليد كلمة المرور, وتستخدم أيضاً في توليد مفتاح تشفير الجلسة
$a =     array('a','b','c','d','e','f','g','h','i','j','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9','~','!','@','#','$','%','^','&','*','(',')','-','=','+','_','{','}','|','<','>','?',',','.','/',';','[',']');
    shuffle($a);
    return substr(implode($a), 0, $len);
}

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

بلغة الرياضيات، إذا طول الكلمة السرية المرغوبة هو 12 حرف.

  • عدد كلمات السر التي قد تنتجها دالتك (كل حرف يتكرر مرة واحد فقط) هو 98373462462399553228800

  • عدد كلمات السر التي قد تنتجها دالة تكرر الحروف : 215671155821681003462656

الدالة الأخرى لديها أكثر من ضعفي عدد مُخرجات دالتك.

1
احمد خطاب
  • 2013-12-24T18:35:00+00:00
  • المزيد
    • رابط مختصر

تم التحديث للتالي لزيادة العشوائية والـ Performance:

function create_password($len) { //دالة توليد كلمة المرور, وتستخدم أيضاً في توليد مفتاح تشفير الجلسة
$a = array('a','b','c','d','e','f','g','h','i','j','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9','~','!','@','#','$','%','^','&','*','(',')','-','=','+','_','{','}','|','<','>','?',',','.','/',';','[',']');
$pwd = '';
for ($i = 0; $i < $len; $i++){
    $pwd .= $a[rand(0, 87)];
}
if (strength($pwd) < 4) return create_password($len);
else return $pwd;
}
0
احمد خطاب
  • 2013-12-24T17:48:47+00:00
  • المزيد
    • رابط مختصر

ممتاز, سأعمل على معالجة ذلك في أقرب وقت ممكن إن شاء الله تعالى.

بارك الله فيكم..

0
احمد خطاب
  • 2013-12-24T18:17:35+00:00
  • المزيد
    • رابط مختصر

تم التحديث:

function strength($pwd) { //دالة تقدير قوة كلمة المرور. النتيجة: من 0 إلى 5
    $score = 0;
    if (strlen($pwd) < 4) {return $score;}
    if (strlen($pwd) >= 8) {$score++;}
    if (strlen($pwd) >= 10) {$score++;}
    if (preg_match('/[a-z]/', $pwd) && preg_match('/[A-Z]/', $pwd)) {$score++;}
    if (preg_match('/[0-9]/', $pwd)) {$score++;}
    if (preg_match('/[\'\/~`\!@#\$£%\^&\*\(\)_\-\+=\{\}\[\]\|;:"\<\>,\.\?\\\]/', $pwd)) {$score++;}
    return($score);
}

function create_password($len) { //دالة توليد كلمة المرور, وتستخدم أيضاً في توليد مفتاح تشفير الجلسة
    $a = array('a','b','c','d','e','f','g','h','i','j','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9','~','!','@','#','$','%','^','&','*','(',')','-','=','+','_','{','}','|','<','>','?',',','.','/',';','[',']');
    $pwd = '';
for ($i = 0; $i < $len; $i++){
    shuffle($a);
    $pwd .= $a[0];
}
if (strength($pwd) < 4) return create_password($len);
else return $pwd;
}

تطوير الويب

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

96.4 ألف متابع

أطلق موقعك الإلكتروني في دقائق

صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.

أنشئ موقعك الآن

انسخ هذا الرابط:

تنبيه