Teya Salat
[WapMaster][Tutoriall][Zona Trik Fb][Bot Auto Like][Download][Game][Apps][Lainnya]
Jangan Lupa Ikuti Admin di Facebook yaah sobz..!!

MAIN MENU
PHP: tanda kutip, garis miring, SQL-query
Diakses dari phpfaq.ru
Slash, atau backslash, dari Inggris kembali memangkas
- backslash ("\"), yang misterius tiba-tiba muncul
sendirian dalam variabel Anda. Dia menambahkan
beberapa karakter khusus, tetapi terutama karena
pernyataan kutipan nya.
Hal ini terjadi karena PHP setup khusus, biasanya
sudah termasuk dalam default hosting. Secara teoritis,
pengaturan ini dapat meningkatkan keamanan script
rabotayuyuschih dengan database. Dalam prakteknya,
bagaimanapun, dengan secara otomatis
menambahkan garis miring sering mendapatkan
bingung dan tidak nyaman, karena ketika bekerja
dengan database, dan dalam ketiadaan.
Di bawah ini kami menganalisis secara rinci kedua
kasus ini.
Untuk penambahan otomatis garis miring memenuhi
php.ini direktif, yang secara kolektif disebut "tanda
kutip ajaib":
magic_quotes_gpc dan magic_quotes_runtime
Ketika pertama kali diaktifkan, PHP secara otomatis
menambahkan garis miring untuk data yang dikirim
dari pengguna - dari POST, GET permintaan dan cookie
(dan juga - untuk login dan password yang diterima
melalui HTTP Otorisasi).
Jika kedua, garis miring ditambahkan ke data yang
diperoleh selama pelaksanaan script - misalnya, dari
file atau database.
Bagaimana menyingkirkan
Jika Anda bekerja tanpa database, atau bekerja
dengan database dengan benar (yang akan ditulis di
bawah), garis miring ekstra Anda hanya akan
mengganggu, dan kita harus menyingkirkan mereka.
Lebih mudah dan lebih tepat untuk menonaktifkan
penambahan otomatis, di setting PHP.
Hal ini dapat dilakukan baik menyesuaikan arahan
yang tepat dalam php.ini, jika Anda memiliki akses ke
sana, atau dengan menciptakan sebuah situs dalam
file direktori root htaccess,. Dan tambahkan baris
php_flag magic_quotes_gpc 0
php_flag magic_quotes_runtime 0
Jika Anda menonaktifkan cara ini tidak berhasil, Anda
harus menulis kode untuk tingkat kerumitan yang
berbeda untuk membersihkan garis miring dari data
yang masuk. (Namun, jika Anda ingin menulis sebuah
aplikasi portabel yang tidak tergantung pada
pengaturan PHP, kemudian menulis itu masih perlu
Dan termasuk unit terpisah pada awal naskah Anda.).
Dengan data yang diperoleh selama bekerja, cara
termudah untuk mencari tahu: hanya menulis naskah
di awal
set_magic_quotes_runtime (0);
Untuk data yang diterima dari pengguna, semuanya
jauh lebih rumit. Untuk kode ini, kita perlu dua fungsi:
memeriksa apakah PHP menambahkan, Anda dapat
menggunakan get_magic_quotes_gpc fungsi.
menghilangkan garis miring stripslashes fungsi.
Oleh karena itu, dengan yang pertama kita harus
memeriksa dan, jika PHP ditambahkan, kemudian
beralih di atas semua variabel masukan dan
dibersihkan oleh yang kedua.
Jika Anda bekerja dengan benar, ketika
register_globals = Off, itu sudah cukup untuk
menerapkan stripslashes untuk semua array yang
berisi data yang berasal dari browser.
Sebagai contoh, Anda dapat menyertakan semua script
kode situs seperti ini:
fungsi strip (& $ el) {
if (is_array ($ el))
foreach ($ el sebagai $ k => $ v)
strip ($ el [$ k]);
lain $ el = stripslashes ($ el);
}
if (get_magic_quotes_gpc ()) {
strip ($ _GET);
strip ($ _POST);
strip ($ _COOKIE);
strip ($ _REQUEST);
if (isset ($ _SERVER ['PHP_AUTH_USER'])) strip ($
_SERVER ['PHP_AUTH_USER']);
if (isset ($ _SERVER ['PHP_AUTH_PW'])) strip ($ _SERVER
['PHP_AUTH_PW']);
}
Dalam kasus register_globals setting yang salah dan
melakukan solusi yang dapat diterima akan sulit untuk
menemukan, jadi yang terbaik - lagi - hanya untuk
bekerja dengan pengaturan yang benar.
Sekarang untuk bekerja dengan MySQL.
Aturan menyusun query MySQL
Untuk memulai - sedikit tentang mengapa kita perlu ini
garis miring.
Jika kita mengganti ke dalam query data, kemudian,
untuk membedakan data dari perintah SQL, mereka
harus dikutip.
Misalnya, jika Anda menulis
SELECT * FROM tabel WHERE nama = Bill
maka dasar memutuskan bahwa RUU - adalah nama
dari bidang lain, tidak akan menemukannya, dan
menimbulkan kesalahan. Oleh karena itu, data diganti
(dalam hal ini nama RUU) harus ditutup dengan tanda
kutip
- Kemudian dasar yang ditemukan memiliki sebuah
string, yang nilainya harus ditetapkan ke nama field:
SELECT * FROM tabel WHERE nama = 'Bill'
Namun, dalam data itu sendiri dapat memenuhi tanda
kutip juga. Sebagai contoh,
SELECT * FROM tabel WHERE nama = 'D' Artagnan '
Di sini, database menentukan bahwa 'D' - adalah data,
dan Artagnan - tim bahwa dia tidak tahu, dan juga
menghasilkan kesalahan. Karena itu, semua data harus
prosleshivat untuk menjelaskan dasar dari apa yang
mereka temukan dalam tanda kutip (dan beberapa
karakter khusus lainnya) mengacu pada data.
Hasilnya adalah permintaan yang valid, yang tidak
akan menyebabkan kesalahan:
SELECT * FROM tabel WHERE nama = 'D \' Artagnan '
Dengan demikian, kami menemukan bahwa substitusi
data dalam permintaan, harus mengikuti dua aturan:
- Semua data dimasukkan ke dalam query harus diapit
tanda kutip (tunggal atau ganda, tetapi lebih nyaman
dan lebih sering digunakan tunggal).
- Semua variabel string harus di-escape karakter garis
miring khusus.
Harus ditekankan: garis miring ditambahkan tidak
masuk ke database. Mereka hanya dibutuhkan dalam
query. Ketika disuntikkan ke dalam garis miring dasar
dibuang. Dengan demikian, kesalahan umum adalah
dengan menggunakan stripslashes ketika mengambil
data dari database.
Bahkan, semua hal di atas berlaku untuk string tipe
data dan tanggal. Nomor dapat dimasukkan atau tidak
prosleshivaya kutipan okruzhaya. Jika Anda melakukan
ini, Anda HARUS! dipaksa untuk membawa data ke
jenis yang tepat sebelum dimasukkan ke dalam query,
misalnya:
$ Id = intval ($ id);
Namun, untuk kesederhanaan (dan keandalan) dapat
bekerja dengan angka sebagai string (proskolku mysql
masih mengkonversikannya ke jenis yang tepat).
Dengan demikian, kami akan, data dimasukkan ke
dalam prosleshivat query dan diapit tanda kutip.
Juga, ada satu aturan - opsional, tetapi harus diikuti
untuk menghindari kesalahan:
Field dan nama tabel harus diapit tanda kutip tunggal
kembali - "` "kunci (ditandai dengan simbol ini adalah
pada tombol keyboard standar di sebelah kiri" 1 ")
Mungkin nama field yang sama dengan kata kunci
mysql, tetapi jika kita menggunakan tanda kutip
mundur, maka MySQL akan mengerti semuanya sudah
benar:
SELECT * FROM `tabel` WHERE `tanggal` = '2006-04-04
'
Hal ini diperlukan untuk membedakan antara tanda
kutip dan jangan bingung satu dengan yang lain. Anda
juga harus ingat bahwa tanda kutip mundur garis
miring tidak melarikan diri.
Dinamis query
Jika query SQL dalam script seluruhnya ditulis, dan
tidak berubah, seperti
SELECT * FROM `tabel`
itu ada masalah dengan dia dan tidak akan pernah.
Namun kekuatan seluruh script kami adalah kompilasi
dinamis pertanyaan!
Daripada menulis permintaan siap untuk semua
kesempatan, kita membuat mereka berdasarkan data
yang masuk ke dalam naskah.
Dan di sini kita menghadapi bahaya berkembang.
Misalkan kita membuat query menggunakan variabel:
SELECT * FROM tabel WHERE '$ nama' nama =
Tampaknya menjadi - baik saja?
Dan jika $ name kita memiliki D'Artagnan? Permintaan
akan gagal!
Artinya, substitusi variabel untuk query harus
prosleshit.
Hal ini dapat dilakukan dengan beberapa cara.
Yang paling mudah (dan salah) - mengandalkan tanda
kutip sihir. Seperti yang Anda duga, untuk kasus ini
mereka diciptakan. Untuk menghemat query SQL
programmer pelupa dari kesalahan dan semua data
yang masuk ke dalam prosleshivayutsya naskah tanpa
pandang bulu.
Jika Anda menggunakan kode orang lain, yang terbaik
adalah menggunakan tanda kutip sihir. Ini mungkin
membuat beberapa ketidaknyamanan, dan tidak
menjamin Anda terhadap kesalahan atau retak
(seperti aturan prosleshivaniem membuat permintaan
tidak terbatas pada) tapi setidaknya mengurangi risiko.
Jadi, jika Anda menggunakan kode orang lain, pastikan
bahwa tanda kutip sihir diaktifkan.
Jika Anda menulis zhy
semua kode sendiri, Anda harus belajar persiapan
yang tepat dari permintaan.
Kerja yang benar dengan tanda kutip ketika menulis
query
Jadi. Seperti yang kita pelajari di atas, untuk benar
membuat permintaan, harus diapit tanda kutip dan
prosleshivat informasi mereka.
Dengan jelas pertama. Dalam menyusun query yang
dinamis, kita tidak akan pernah lupa semua data
tertutup dalam tanda kutip:
$ Query = "INSERT INTO` tabel `VALUES (NULL, '$
nama', '$ tanggal', '$ harga')";
Jika harga $ variabel harus bertipe int, dan kami
memberikannya kepada tipe tersebut, maka tidak
dapat tertutup dalam tanda kutip. Namun, jika kita
menyimpulkan bahwa tidak ada masalah khusus,
tetapi Anda dapat mendapatkan pekerjaan yang
dilakukan dengan seragam data.
Yang kedua - prosleshivanie - dan sudah demikian,
untuk apa, bahkan, untuk sebagian besar, dan menulis
semua teks. Seperti sebagian besar masalah dan
kesulitan.
Pertama, menonaktifkan tanda kutip sihir. Dengan
demikian, seperti dijelaskan di awal.
Mengapa hal ini harus dilakukan?
Karena berbagai alasan. Yang paling jelas - logika.
"Magic mengutip" garis miring menambahkan, tidak di
mana mereka dibutuhkan - dalam penyusunan
permintaan, tapi sebelum masuk ke skrip! Tapi ini
bukan berarti setelah itu akan dimasukkan ke dalam
query. Mungkin mereka harus menampilkan kepada
pengguna, dan hanya akan mengganggu garis miring.
Plus, ditambahkan untuk mencegah garis miring,
misalnya, benar memeriksa panjang string masukan.
Selain itu, prosleshivat kita jangan hanya berasal dari
data pengguna, dan umumnya ada, dimasukkan ke
dalam query - banyak dari fakta ini jelas bahkan tidak
muncul dalam pikiran! Daftar goes on, tapi satu
kesimpulan: Anda tidak harus menambahkan garis
miring, pistol, tanpa pandang bulu, sebelum memulai
script, tetapi hanya apabila benar-benar diperlukan -
dalam penyusunan permintaan tersebut.
Ada alasan lain: penggunaan encoding Unicode, yang
mendapatkan popularitas, dan akhirnya menempati
posisi dominan di web, tanda kutip sihir hanya bisa
merusak teks, mengambil bagian dari string multibyte
karakter khusus.
Sekarang mari kita menambahkan garis miring sendiri.
Pertama, kita menggunakan prosleshivaniya
mysql_real_escape_string function ()
Perlu diketahui bahwa hal itu dapat diterapkan hanya
setelah koneksi ke database.
Fitur ini membuat lebih dari yang lama, dan
mysql_escape_string addslashes. Pertama, memfasilitasi
pemeliharaan dan membaca log mysql, mengganti,
misalnya, karakter baris baru dalam "\ n", dan
beberapa karakter lain dalam urutan escape-. Kedua,
dan yang paling penting - itu bekerja dengan benar
dengan rangkaian karakter multibyte, dengan
mempertimbangkan charset saat ini MySQL dan tidak
merusak, sehingga teks dalam Unicode.
Kedua, jangan lupa bahwa segala sesuatu harus
prosleshit data bahwa kita telah memasuki dalam
query dalam tanda kutip:
$ Name = mysql_real_escape_string ($ nama);
$ Usia = mysql_real_escape_string ($ umur);
$ Query = "INSERT INTO tabel (nama, umur, kelas)
VALUES ('$ nama', '$ umur', 11)";
atau:
$ Query = "SELECT * FROM tabel WHERE nama LIKE '"
mysql_real_escape_string ($ _GET. [' Nama '] ")%".';
Hal ini terlihat bahwa kode menjadi cukup rumit.
Untuk memudahkan penyusunan permintaan dapat
dikirim ke uhischneniya berbeda - membuat fungsi
untuk query dari file (sangat berguna untuk query
seperti INSERT dan UPDATE), array prosleshivat data
dalam satu lingkaran, dan sebagainya.
Anda dapat menulis, dan perpustakaan, atau fungsi
untuk query.
Hal utama - ingat bahwa hanya ketaatan pada aturan
membuat pertanyaan menjamin Anda dari hacking
database, serta untuk mengakui bahwa penggunaan
"tanda kutip ajaib", dengan kemudahan yang jelas dari
membuat pertanyaan, tidak memberikan jaminan
semacam itu, tetapi hanya mencegah aplikasi.
Jadi, kami belajar bagaimana untuk menggantikan
data query.
Tapi! Dinamis query tidak terbatas pada penggantian
data. Seringkali kita harus mengganti perintah SQL
untuk query dan nama lapangan. Dan di sini kita
beralih ke topik keamanan:
SQL Injection
SQL Injection
- Cara serangan hacking, ketika data dimodifikasi script
sehingga permintaan terbentuk dalam script ini, jangan
mulai memenuhi itu yang dimaksudkan.
Aturan untuk melindungi terhadap serangan tersebut
dapat dibagi menjadi dua item:
A. Bekerja dengan Data.
Dua. Bekerja dengan query kontrol elemen.
Poin pertama kita telah meneliti secara rinci di atas.
Bisa dikatakan, dan tidak, pada kenyataannya,
dilindungi. Kepatuhan terhadap peraturan ditambahkan
ke zannyh permintaan didikte, pertama-tama,
persyaratan dari SQL Sintaks. Dan sebagai efek
samping yang kita miliki, dan perlindungan dari
gangguan.
Poin kedua adalah jauh lebih rumit, karena tidak ada
aturan tunggal yang sama universal untuk data -
backquote tidak melindungi nama field dari modifikasi
hacker. Tidak mungkin untuk melindungi nama tanda
kutip meja, operator dari SQL, perintah LIMIT
parameter, dan operator lainnya.
Oleh karena itu, aturan dasar tentang penggantian
kontrol dalam query seperti ini:
Jika Anda ingin mengganti dinamis dalam query SQL
atau nama field, database, tabel, dalam keadaan
apapun, jangan memasukkan mereka ke dalam
permintaan secara langsung.
Semua versi penambahan harus pra-terdaftar dalam
script Anda dan dipilih atas dasar bahwa pengguna
memasukan.
Misalnya, jika Anda harus lulus nama operator
lapangan agar dengan, maka dalam hal apapun tidak
dapat diganti secara langsung. Pertama saya harus
check it out. Misalnya, membuat sebuah array nilai
yang valid, dan untuk menggantikan dalam
permintaan hanya jika parameter berlalu dalam array
ini hadir:
$ Perintah = array ("nama", "harga", "qty");
$ Kunci = array_search ($ _GET ['jenis'], $ perintah));
$ Orderby = $ perintah [$ key];
$ Query = "SELECT * FROM` tabel PESANAN DENGAN $
orderby ";
Kami mencari dalam berbagai varian sebelumnya
dijelaskan dari kata yang dimasukkan oleh pengguna
dan, jika ditemukan, kemudian pilih item yang sesuai
dalam array. Jika tidak ada yang cocok, ia akan
memilih elemen pertama dari array.
Dengan demikian, pertanyaan diganti tidak apa yang
user masuk, dan apa yang tertulis dalam naskah kami.
Demikian pula, orang harus bertindak dalam hal
lainnya
Sebagai contoh, jika operator dihasilkan secara dinamis
MANA:
jika $ where = "harga = '" mysql_real_escape_string ($
_GET. [' harga '] "" (kosong ($ _GET [' harga '])).).';
$ Query = "SELECT * FROM` tabel `WHERE $ mana";
Sulit untuk membayangkan sebuah kasus di mana
nama tabel dapat disubstitusikan ke query dinamis,
tetapi jika itu terjadi, nama juga harus dimasukkan
hanya dari pra-ditentukan set dalam script.
Parameter dari klausa LIMIT harus dipaksa untuk
memimpin ke integer menggunakan aritmatika atau
fungsi intval ().
Kita seharusnya tidak berpikir bahwa contoh di sini
buang semua pilihan untuk membuat query dinamis.
Anda hanya perlu memahami prinsip dan
menerapkannya dalam semua kasus tersebut.
Disiapkan pernyataan
Sejauh ini kita telah berbicara tentang cara kerja
dengan database ketika permintaan dibuat seluruhnya
dalam bentuk baris, dan dikirim ke database.
Tapi ada yang lain, yang disebut "pernyataan
siap" (pernyataan siap).
Esensinya terletak pada kenyataan bahwa pola
permintaan dipersiapkan dengan penanda khusus di
tempat yang akan diganti dengan komponen dinamis.
Contoh dari pola ini:
SELECT * FROM tabel WHERE nama =?
Tanda tanya di sini - ini adalah penanda yang sama. Di
lain, ia placeholder nazyvaetsy (placeholder).
Rahasianya adalah bahwa data dalam pengganti
tempatnya fitur khusus yang "mengikat" variabel untuk
query.
Berikut adalah kode dalam hal ini:
$ Stmt = $ mysqli-> prepare ("SELECT Kabupaten DARI
MANA Kota = Nama?");
$ Stmt-> bind_param ("s", $ kota);
$ Stmt-> execute ();
Baris pertama kita mempersiapkan pola query.
Yang kedua - mengikat nilai penanda kota variabel $.
Pada saat yang sama - terbaik dari semua! - Semua
operasi yang diperlukan (mengutip, prosleshivanie)
fungsi melakukan itu sendiri.
Di baris ketiga mengeksekusi disiapkan sehingga
permintaan.
Jelas bahwa banyak pertanyaan. Tapi baik volume
maupun topik artikel ini
tidak mengizinkan mereka untuk tinggal lebih terinci.
Saya sarankan untuk berkonsultasi di dokumentasi
untuk perpustakaan mysqli dan PDO, menerapkan
prinsip ini.
Anda juga dapat menggunakan DbSimple
perpustakaan Dmitry Koterova atau PEAR :: DB.
Perbedaan utama antara kedua adalah bahwa mereka
menerapkan mekanisme pernyataan siap hanya dalam
penampilan. Di dalam karya kuno - akuntansi untuk
permintaan tersebut dan mengirimkannya ke
database. Sebuah PDO dan mysqli bekerja dengan
database dari awal, yaitu, itu adalah template
langsung dari pertanyaan, pergi ke database, itu
dibongkar, dan dasar sendiri pengganti nilai melekat
pada spidol.
Bekerja dengan operator LIKE
Cukup kasus khusus - operator SUKA.
Pertama, selain prosleshivaniya biasa, variabel yang
diganti dalam SEPERTI, memiliki garis miring ganda.
Artinya, jika sebuah variabel berisi karakter \, harus
dua kali lipat, dan kemudian melakukan prosleshivanie
biasa melalui mysql_real_escape_string.
Misalnya, jika kita mencari baris
\ Karakter disebut "backslash"
dan kita perlu sama persis, kita hanya menggunakan
mysql_real_escape_string dan query diperoleh dengan
standar:
SELECT * DARI MANA uji lapangan = 'a \ \ adalah \
"backslash \"'
Jika kita ingin mengganti string ini SEPERTI, pertama-
tama perlu untuk mengganti setiap garis miring atau
dua, dan kemudian menggunakan
mysql_real_escape_string. Hasilnya adalah
SELECT * FROM tabel WHERE kolom LIKE '% a \ \ \ \
yang \ "backslash \"%'
Kedua, kita harus memperhatikan fakta bahwa tidak
ada fitur yang menambah garis miring, tidak
menambahkan mereka untuk mencari metakarakter
"%" dan "_", seperti yang digunakan dalam operator
LIKE. Jadi, jika Anda menggunakan operator ini, dan
tidak ingin karakter _ dan% telah digunakan sebagai
masker, kemudian menambahkan garis miring secara
manual. Hal ini dapat dilakukan dengan mengetik
$ Data = addCslashes ($ data, '% _');
Peringatan - ini bukan addslashes! Nama fungsi ini
memiliki huruf tambahan "c".
Dengan demikian tampak bahwa variabel yang
digunakan dalam operator LIKE, kita harus ditangani
secara terpisah.
pertama untuk menggantikan garis miring atau dua,
dengan bantuan ini, misalnya, kode:
$ Var = str_replace ('\ \', '\ \ \ \', $ var);
dan kemudian (mungkin bersama dengan semua data
lainnya akan masuk ke query) prosleshivaem:
$ Var = mysql_real_escape_string ($ var);
dan kemudian, jika Anda ingin melihat _ dan%
berkorespondensi persis dengan diri mereka sendiri,
jangan
$ Var = addCslashes ($ var, '_%');
Akibatnya, jika kita melihat, misalnya, baris
\ Karakter disebut "backslash", sebuah simbol _ disebut
"garis bawah"
setelah memproses permintaan tersebut, seharusnya
terlihat seperti ini:
'% A \ \ \ \ adalah \ "backslash \", dan simbol \ _ disebut
\ yang "garis bawah \"
Artinya, garis miring, yang semula berturut-turut -
empat kali lipat. Karakter tersisa prosleshilis seperti
biasa. Plus - prosleshilsya karakter garis bawah.
Catatan
Di antara alasan mengapa Anda tidak harus
bergantung pada "tanda kutip ajaib", ada satu. Sangat
tidak mungkin, tapi tetap saja. Dengan "tanda kutip
ajaib" ini tidak benar-benar dua arahan dan tiga. Ketiga
- magic_quotes_sybase. Selain itu, ia menambahkan
garis miring bukan kutipan - sehingga juga menimpa
magic_quotes_gpc. Jika karena suatu keajaiban, kedua
arahan memiliki status 'on', kemudian yang terakhir
tidak akan bekerja! Artinya, bergantung pada "tanda
kutip ajaib" dalam hal ini kita mendapatkan semua
pesona permintaan tidak diformat dengan benar.
Secara umum, secara teoritis, perlu untuk
mempertimbangkan kehadiran direktif ini, karena
menyajikan juga kejutan, sebagai ... perubahan
perilaku addslashes fungsi dan stripslashes! Jika
magic_quotes_sybase = on, maka fungsi-fungsi ini
bukan slash mulai menambah dan menghapus kutip
tunggal sesuai.
Semua contoh-contoh ini hanya berlaku untuk
database Mysql. Aturan khusus untuk menyusun
permintaan mungkin berbeda untuk database lainnya,
tetapi prinsip umum tetap sama:
Jika sebuah API untuk bekerja dengan database atau
pihak ketiga perpustakaan menyediakan
fungsi khusus untuk query, dan adalah mungkin untuk
menggunakannya, kemudian digunakan di tempat
pertama bagi mereka.
Jika fungsi ini tidak, Anda harus melihat di
dokumentasi untuk menyaring karakter khusus untuk
database ini.
OPS: A link yang sangat berguna:
Tentang Sihir Harga PHP.NET online
Beberapa material pada SQL Injection:
http://www.securitylab.ru/45438.html
http://www.securitylab.ru/49424.html
http://www.nextgenss.com/papers/
advanced_sql_injection.pdf
Catatan: Bentuk
Untuk menurunkan nilai dalam tag form input, garis
miring tidak bekerja.
Untuk membuat teks dalam bidang ini menampilkan
nilai keseluruhan, harus diapit tanda kutip, seperti yang
diterapkan ke data fungsi htmlspecialchars diturunkan
()
Contoh:
<Input type = "text" name = "nama" value =
"<htmlspecialchars Echo ($ name, ENT_QUOTES)?>">
<textarea> <? gema htmlspecialchars ($ teks,
ENT_QUOTES)> </ textarea>
Hal ini juga perlu diperhatikan (walaupun sangat tidak
relevan dengan tanda kutip dan garis miring) bahwa
fungsi harus menggunakan htmlspecialchars ketika
keluaran ke browser pada umumnya untuk semua
data yang diterima dari pengguna yang tidak
dipercaya. Mengapa hal ini harus dilakukan, dapat
ditemukan dalam pencarian google untuk apa XSS
kerentanan
Backlink Html Code
Jika anda suka dgn situs ini copy & paste backlink di bawah ini..
Harian : 1 Visit
Totall : 1060 Visit.
Country: Indonesian.
SERANG TIMUR
© 2013 Copyright FansXT.
All right © 2011-2013.