Вэб сайт хийж байх явцад санамсаргүй тэмдэгтүүд үүсгэх хэрэг нэлээд гаргадаг. Жишээ нь: хэрэглэгч нууц үгээ мартсан гээд шинэ нууц үг хүсэхэд нь санамсаргүй сонгож авсан тэмдэгтүүдээр нууц үг үүсгээд эмэйл рүү нь шидэх. Миний ашиглаж байгаа энгийн функц /илүү олон үйлдэлтэй байгаа/:
function randomString( $length ) {
$chars ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$size = strlen( $chars );
$str=NULL;
for( $i = 0; $i < $length; $i++ ) {
$str .= $chars[ rand( 0, $size - 1 ) ];
}
return $str;
}
Ашиглах: randomString(5) гэж функцээ дуудах юм бол санамсаргүйгээр сонгож авсан 5 урттай тэмдэгт мөр буцаана.
Арай илүү функц:
Арай илүү функц:
function randomString($length, $type = '') {
// Select which type of characters you want in your random string
switch($type) {
case 'num':
// Use only numbers
$salt = '1234567890';
break;
case 'lower':
// Use only lowercase letters
$salt = 'abcdefghijklmnopqrstuvwxyz';
break;
case 'upper':
// Use only uppercase letters
$salt = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
default:
// Use uppercase, lowercase, numbers, and symbols
$salt ='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
break;
}
$rand = '';
$i = 0;
while ($i < $length) { // Loop until you have met the length
$num = rand() % strlen($salt);
$tmp = substr($salt, $num, 1);
$rand = $rand . $tmp;
$i++;
}
return $rand; // Return the random string
}
Good luck!
Илүү нь ямар юм?
ReplyDeleteБичлэгийнхээ сүүлд нь залгаад оруулчихлаа.
Deletephp дээр injection-ээс хамгаалах зөндөө л олон арга функц байна. Яг алийг нь ашиглавал зүгээр вэ
ReplyDelete