-
Punca: Input pengguna dimasukkan ke dalam output tanpa pengesahan, yang membawa kepada pelaksanaan kod berniat jahat.
-
Langkah Balas: Gunakan fungsi
<code><strong class="keylink">html</strong>specialchars()
或 htmlentities()
html
specialchars() atau htmlentities()
untuk melarikan diri daripada input pengguna untuk mengelakkan pelaksanaan skrip berniat jahat.
Perangkap 2: SQL Injection
-
Punca: Input pengguna dibina tanpa pengesahan untuk membina pertanyaan sql, mengakibatkan akses atau pengubahsuaian pangkalan data
yang tidak dibenarkan. -
Langkah Balas:
<strong class="keylink">Mysql</strong>i_real_escape_string()
Gunakan penyataan yang disediakan atau fungsi
Mysql
i_real_escape_string() untuk mengesahkan input pengguna untuk mengelakkan pelaksanaan pertanyaan SQL yang berniat jahat.
Perangkap 3: Kerentanan muat naik fail
-
Punca: Muat naik fail tidak disekat atau disahkan, yang boleh membawa kepada muat naik fail berniat jahat dan
pelayan- serangan.
Langkah Balas: Hadkan jenis fail, saiz dan sambungan, gunakan perisian anti-virus untuk mengimbas fail dan menyimpan fail di lokasi yang
selamat
.
Perangkap 4: Serangan Penafian Perkhidmatan (DoS)
-
Punca: - Terlalu banyak penyerahan borang atau input yang tidak sah boleh menyebabkan sumber pelayan kehabisan.
Langkah balas:
Hadkan kekerapan penyerahan borang, gunakan medan Captcha atau honeypot untuk menghalang penyerahan bot dan sahkan input yang tidak sah.
Perangkap 5: CSRF (Pemalsuan permintaan merentas tapak)
-
Punca: - Penyerang memanfaatkan kelayakan pengguna untuk menyerahkan borang tanpa pengetahuan mangsa.
Langkah Balas: Lindungi borang dengan token CSRF, sahkan token pada setiap penyerahan borang dan tetapkan pengepala
Http
Same-origin only.
Perangkap 6: Clickjacking
-
Punca: Penyerang mencipta
bingkai- atau lapisan telus untuk menipu pengguna supaya mengklik butang borang berniat jahat, dengan itu menyerahkan borang yang tidak dibenarkan.
X-Frame-Opt<strong class="keylink">io</strong>ns
标头禁用跨域框架,使用 Content-Security-Policy
Langkah Balas: Gunakan pengepala X-Frame-Opt
io
ns untuk melumpuhkan bingkai silang asal dan gunakan pengepala Content-Security-Policy
untuk mengehadkan dimuatkan sumber.
Perangkap 7: Serangan Man-in-the-Middle (MiTM)-
- Punca: Penyerang memintas penyerahan borang dan mengubah suai input pengguna atau mencuri maklumat sensitif.
Langkah Balas:
Gunakan
https
untuk menyulitkan penyerahan borang, mengesahkan sijil pelayan dan menggunakan protokol selamat seperti TLS.
Perangkap 8: Sesi Rampasan-
- Punca: Penyerang mencuri pengecam sesi pengguna dan menyerahkan borang berpura-pura menjadi pengguna.
Langkah Balas:
Gunakan pengecam sesi selamat, hadkan tamat tempoh sesi dan gunakan pengepala keselamatan HTTP (seperti Strict-Transport-Security) untuk memaksa penggunaan HTTPS.
Perangkap 9: Limpahan Penampan-
- Punca: Input pengguna melebihi saiz penimbal yang diperuntukkan, menyebabkan ranap pelayan atau pelaksanaan kod.
fgets()
Langkah balas: Gunakan fungsi selamat (seperti dan `fread())** untuk membaca input pengguna dan hadkan
rentetan
panjang.
Perangkap 10: Penyamaran Identiti-
- Punca: Penyerang memalsukan identiti pengguna dan menyerahkan borang, dengan itu melakukan operasi tanpa kebenaran.
Langkah Balas: 🎜 Gunakan mekanisme pengesahan dan kebenaran untuk mengesahkan identiti pengguna dan menyekat hak akses pengguna. 🎜
🎜
Atas ialah kandungan terperinci Perangkap pengendalian borang PHP dan cara mengelakkannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!