Jana kod pengesahan melalui php, dan kemudian keluarkan dengan teg img.
Maafkan saya, jika terdapat session_start(), mengapa acara onclick ditulis seperti ini, dan mengklik akan mempunyai kesan menyegarkan semula kod pengesahan? (Kod pengesahan baharu akan muncul)
Tiada sesi dan klik tidak sah.
kod html
<img src="verifyCode.php" onclick="this.src='verifyCode.php'"/>
php
//省略验证码生成代码...
imagepng($image);//输出图片
session_start();//开始会话
onclick="this.src='verifyCode.php?id='+Math_random()"/>
Ini sepatutnya cukup. Tambahkan nombor rawak pada imej, ia akan berbeza setiap kali dan anda boleh menyegarkannya
Adakah kod ini session_start() sebelum imej dicipta?
Jika sebelum ini, secara amnya semasa membuat kanvas, anda perlu menyuntik maklumat pengesahan ke dalam $_SESSION Suntikan mungkin gagal kerana sesi tidak dibuka dan pengeluaran imej kod pengesahan akan ditamatkan.
Gunakan sesi untuk mengesahkan kod pengesahan grafik Prinsip umum adalah untuk terlebih dahulu menyimpan kod pengesahan semasa a dalam sesi, kemudian gunakan a untuk menjana kod pengesahan grafik dan mengembalikannya kepada pelanggan. Pelanggan memasukkan kod pengesahan a ke pelayan dan pelayan mengesahkannya berdasarkan data yang disimpan dalam sesi semasa.
Jika anda menggunakan kaedah ini dan sesi tidak didayakan, anda tidak akan dapat menyimpan dan menggantikan kod pengesahan a dalam sesi, dan sudah tentu ralat akan berlaku.
(Nota: Output imej tiada kaitan dengan pengaktifan sesi)