Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menjana Rentetan Alfanumerik Selamat untuk Pautan Pengesahan dalam PHP?
Jana Rentetan Abjad Angka Unik untuk Pautan Pengesahan
Mencipta rentetan unik rawak yang mengandungi kedua-dua huruf dan nombor ialah kaedah selamat untuk pautan pengesahan dalam proses penciptaan akaun. Berikut ialah dua fungsi PHP yang boleh digunakan untuk tujuan ini:
PHP 7 (Disyorkan)
Pustaka standard PHP 7 termasuk fungsi random_bytes(), yang menjana bait pseudo-rawak yang selamat secara kriptografi.
$bytes = random_bytes(20); echo bin2hex($bytes);
PHP 5 (Lapuk)
Untuk PHP 5, disyorkan untuk menggunakan openssl_random_pseudo_bytes() untuk menjana token selamat:
echo bin2hex(openssl_random_pseudo_bytes(20));
Pertimbangan Tambahan
Untuk meningkatkan keselamatan dan mengehadkan tekaan token, anda dinasihatkan untuk cipta fungsi tersuai yang memenuhi keperluan khusus. Berikut ialah pelaksanaan komprehensif yang menangani keperluan tersebut:
function crypto_rand_secure($min, $max) { // Calculate and filter random bits $bytes = (int) (($max - $min) / 8) + 1; $bits = (int) log($max - $min, 2) + 1; $filter = (int) (1 $range); return $min + $rnd; } function getToken($length) { // Define character set and calculate maximum length $codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; $max = strlen($codeAlphabet); // edited // Generate token of specified length $token = ""; for ($i = 0; $i <p>Fungsi ini menyediakan alternatif selamat kepada rand() dan mt_rand, memastikan token yang dijana sukar diteka dan memenuhi kriteria yang dikehendaki.</p>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Rentetan Alfanumerik Selamat untuk Pautan Pengesahan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!