Bagaimana cara membuat tindakan pada halaman yang sama di php?
PHP_SELF adalah variabel yang mengembalikan skrip saat ini sedang dieksekusi. Variabel ini mengembalikan nama dan jalur file saat ini (dari folder root). Anda dapat menggunakan variabel ini di bidang tindakan FORMULIR. Ada juga eksploitasi tertentu yang perlu Anda waspadai. Kami akan membahas semua poin ini dalam artikel ini. Sekarang kita akan melihat beberapa contoh. Show
a) Misalkan file php Anda terletak di alamat. Dalam hal ini, PHP_SELF akan berisi. 0b) Misalkan file php Anda terletak di alamat tersebut. _1Untuk URL ini, PHP_SELF akan menjadi. _2Menggunakan variabel PHP_SELF di bidang tindakan formulirPenggunaan umum variabel PHP_SELF ada di bidang tindakan dari tag 3. Bidang tindakan FORMULIR menginstruksikan tempat mengirimkan data formulir saat pengguna menekan tombol "kirim". Adalah umum untuk memiliki halaman PHP yang sama dengan handler untuk formulir jugaNamun, jika Anda memberikan nama file di bidang tindakan, jika Anda mengubah nama file, Anda juga perlu memperbarui bidang tindakan; Menggunakan variabel PHP_SELF Anda dapat menulis lebih banyak kode generik yang dapat digunakan di halaman mana pun dan Anda tidak perlu mengedit bidang tindakan Pertimbangkan, Anda memiliki file bernama form-action. php dan ingin memuat halaman yang sama setelah formulir dikirimkan. Kode formulir yang biasa adalah _Kita dapat menggunakan variabel PHP_SELF alih-alih “form-action. php”. Kode menjadi
Kode lengkap “form-action. php”Berikut adalah kode gabungan, yang berisi form dan skrip PHP _Kode PHP ini berada di atas bagian HTML dan akan dieksekusi terlebih dahulu. Baris kode pertama memeriksa apakah formulir dikirimkan atau tidak. Nama tombol kirim adalah "kirim". Saat tombol kirim ditekan, _4 akan disetel dan kondisi JIKA akan menjadi benar. Dalam hal ini, kami menampilkan nama yang dimasukkan oleh penggunaJika formulir tidak dikirimkan, kondisi IF akan SALAH karena tidak akan ada nilai dalam 4 dan kode PHP tidak akan dieksekusi. Dalam hal ini, hanya formulir yang akan ditampilkanApa itu eksploitasi PHP_SELF dan bagaimana cara menghindarinyaVariabel PHP_SELF digunakan untuk mendapatkan nama dan jalur file saat ini tetapi juga dapat digunakan oleh peretas. Jika PHP_SELF digunakan di halaman Anda, maka pengguna dapat memasukkan garis miring (/) dan kemudian beberapa perintah Cross Site Scripting (XSS) untuk dijalankan Lihat di bawah untuk contoh _Sekarang, jika pengguna telah memasukkan URL biasa di bilah alamat seperti 6 kode di atas akan diterjemahkan sebagai
Ini adalah kasus normal Sekarang pertimbangkan bahwa pengguna telah memanggil skrip ini dengan memasukkan URL berikut di bilah alamat browser _7Dalam hal ini, setelah PHP memproses kode tersebut menjadi
Anda dapat melihat bahwa kode ini telah menambahkan tag skrip dan perintah peringatan. Saat halaman ini dimuat, pengguna akan melihat kotak peringatan. Ini hanyalah contoh sederhana bagaimana variabel PHP_SELF dapat dieksploitasi Kode JavaScript apa pun dapat ditambahkan di antara tag "skrip". _8. Seorang peretas dapat menautkan ke file JavaScript yang mungkin terletak di server lain. File JavaScript itu dapat menyimpan kode jahat yang dapat mengubah variabel global dan juga dapat mengirimkan formulir ke alamat lain untuk mengambil data pengguna, misalnyaCara Menghindari Eksploitasi PHP_SELFEksploitasi PHP_SELF dapat dihindari dengan menggunakan fungsi htmlentities(). Misalnya, kode formulir harus seperti ini untuk menghindari eksploitasi PHP_SELF
Fungsi htmlentities() mengkodekan entitas HTML. Sekarang jika pengguna mencoba mengeksploitasi variabel PHP_SELF, upaya tersebut akan gagal dan hasil dari memasukkan kode berbahaya di URL akan menghasilkan output berikut
Seperti yang Anda lihat, bagian skrip sekarang 'dibersihkan' Jadi jangan lupa untuk mengonversi setiap kemunculan 9 menjadi 0 di seluruh skrip AndaCATATAN. Beberapa server PHP dikonfigurasi untuk mengatasi masalah ini dan mereka secara otomatis melakukan konversi ini. Tapi, mengapa mengambil risiko? Bagaimana Anda menampilkan data yang dikirimkan pada halaman yang sama dengan formulir?Solusi 1
. Jika Anda ingin menambahkan konten ke halaman, Anda harus bekerja dengan DOM. Google "buat div javascript" atau "buat span javascript" misalnya, pada dasarnya Anda perlu membuat elemen yang memiliki teks Anda di dalamnya dan menambahkan elemen itu ke bagian halaman yang Anda inginkan . .
Bagaimana cara menampilkan pesan sukses di halaman yang sama di PHP?php $nama = $_POST['nama']; . agriindiaexp. com'; . kagi@gmail. com'; . $nama\n Email. $email\dan Pesan. \n $message"; if ($_POST['submit']) { if (mail ($to, $subject, $body, $from)) { $success = "
Bagaimana cara mengarahkan ulang ke halaman yang sama di PHP setelah mengirimkan?Sekarang di PHP, pengalihan dilakukan dengan menggunakan fungsi header() karena ini dianggap sebagai metode tercepat untuk mengalihkan lalu lintas dari satu . Keuntungan utama dari metode ini adalah dapat bernavigasi dari satu lokasi ke lokasi lain tanpa pengguna harus mengklik tautan atau tombol.
Bisakah formulir memiliki dua tindakan PHP?Tidak, formulir hanya memiliki satu tindakan . |