Mengapa Kata Laluan Saya Dengan Tanda Dolar Pecah dalam PHP?

Susan Sarandon
Lepaskan: 2024-11-20 00:02:03
asal
125 orang telah melayarinya

Why Does My Password With a Dollar Sign Break in PHP?

Dollar ($) Log Masuk Rentetan Kata Laluan: Kekeliruan Pembolehubah

Dalam PHP, tanda dolar ($) dalam rentetan biasanya menunjukkan pembolehubah. Walau bagaimanapun, ini boleh menimbulkan masalah apabila berurusan dengan kata laluan yang mengandungi aksara.

Masalah:

Apabila skrip PHP cuba menyambung ke pangkalan data, nilai kata laluan yang salah sedang dihantar. Kata laluan mengandungi tanda $, dan ini ditafsirkan sebagai pembolehubah dan bukannya sebahagian daripada kata laluan.

Penyelesaian 1: Melarikan Diri dari Tanda Dolar

Untuk menyelesaikan isu , tanda dolar dilarikan menggunakan garis serong ke belakang ():

$_DB["password"] = "mypas$word";
Salin selepas log masuk

Ini secara berkesan menganggap aksara $ sebagai nilai literal, membenarkan kata laluan yang betul dihantar.

Satu lagi Penyelesaian: Rentetan Petikan Tunggal

Penyelesaian alternatif ialah menggunakan rentetan petikan tunggal untuk kata laluan:

$_DB['password'] = 'mypas$word';
Salin selepas log masuk

Rentetan petikan tunggal tidak diproses oleh PHP dan diambil tepat seperti yang muncul. Pendekatan ini menghalang tanda $ daripada ditafsirkan sebagai pembolehubah.

Mengendalikan Pendapatan Kata Laluan daripada Pangkalan Data

Jika kata laluan disimpan dalam pangkalan data, isu yang sama berpotensi berlaku apabila PHP mengambilnya. Untuk mengelakkan ini, pangkalan data hendaklah dikonfigurasikan untuk menyimpan kata laluan dalam rentetan yang diformat dengan betul, dengan mana-mana aksara khas yang terlepas atau menggunakan rentetan petikan tunggal.

Amalan Terbaik

Untuk rentetan yang tidak memerlukan penggantian pembolehubah atau aksara khas, amalan terbaik adalah menggunakan rentetan petikan tunggal. Ini lebih selamat dan kalis ralat.

Atas ialah kandungan terperinci Mengapa Kata Laluan Saya Dengan Tanda Dolar Pecah dalam PHP?. 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