Rumah > pangkalan data > tutorial mysql > Mengapa jQuery Saya Tidak Mengesahkan Kaedah Jauh Mengesan Nama Pengguna Unik?

Mengapa jQuery Saya Tidak Mengesahkan Kaedah Jauh Mengesan Nama Pengguna Unik?

Mary-Kate Olsen
Lepaskan: 2024-12-13 07:08:12
asal
738 orang telah melayarinya

Why Isn't My jQuery Validate Remote Method Detecting Unique Usernames?

jQuery Sahkan Kaedah Jauh Tidak Mengesan Nama Pengguna Sedia Ada

Apabila cuba mengesahkan keunikan nama pengguna dalam pangkalan data menggunakan rangka kerja pengesahan jQuery, percanggahan boleh timbul. Kaedah jauh, apabila cuba menentukan sama ada nama pengguna yang diberikan sudah wujud, boleh melaporkan secara konsisten bahawa ia wujud, tanpa mengira status sebenar.

Salah konfigurasi dan Penyelesaian

Memeriksa kod yang disediakan, ia menjadi jelas bahawa isu ini berpunca daripada skrip PHP yang bertanggungjawab untuk menyemak terhadap pangkalan data. Berikut ialah analisis skrip PHP yang disemak:

require_once "./source/includes/data.php";
header('Content-type: application/json');
$username = mysql_real_escape_string($_REQUEST['username']);

$query = mysql_query("SELECT * FROM mmh_user_info WHERE username ='$username'");
$result = mysql_num_rows($query);
if ($result == 0){
    $valid = 'true';
}
else{
    $valid = 'false';
}
echo $valid;
Salin selepas log masuk

Semakan ini tertumpu terutamanya pada menangani pertanyaan SQL yang cacat. Pertanyaan asal yang digunakan dalam skrip awal cuba menyemak nama pengguna yang tidak selamat dilepaskan, menjadikannya terdedah kepada serangan suntikan. Skrip yang disemak menggunakan mysql_real_escape_string untuk melepaskan nama pengguna dengan betul sebelum menanyakan pangkalan data.

Selain itu, struktur pertanyaan yang dirombak menggunakan mysql_num_rows untuk mengira hasil pertanyaan SQL, membolehkannya menentukan dengan tepat sama ada nama pengguna sudah wujud dalam pangkalan data. Jika hasilnya 0, nama pengguna dianggap unik dan pembolehubah $valid ditetapkan kepada benar. Jika tidak, ia ditetapkan kepada palsu.

Dengan menggunakan skrip PHP yang disemak ini, kaedah jauh dalam pengesahan jQuery boleh menentukan dengan betul sama ada nama pengguna sudah wujud dalam pangkalan data, memastikan nama pengguna unik dikuatkuasakan semasa pendaftaran pengguna.

Atas ialah kandungan terperinci Mengapa jQuery Saya Tidak Mengesahkan Kaedah Jauh Mengesan Nama Pengguna Unik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan