Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memasukkan ke dalam pangkalan data dan melaksanakan operasi melarikan diri dalam php

Bagaimana untuk memasukkan ke dalam pangkalan data dan melaksanakan operasi melarikan diri dalam php

藏色散人
藏色散人asal
2021-10-14 09:11:233121semak imbas

Cara untuk memasukkan pangkalan data dan melaksanakan operasi melarikan diri dalam PHP: 1. Tetapkan item magic_quotes_gpc 2. Hidupkan item magic_quotes_runtime 3. Hidupkan item magic_quotes_sybase secara automatik.

Bagaimana untuk memasukkan ke dalam pangkalan data dan melaksanakan operasi melarikan diri dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Bagaimanakah php dimasukkan ke dalam pangkalan data dan melakukan operasi melarikan diri?

Pemprosesan rentetan khas PHP apabila menulis ke pangkalan data (bila hendak melepaskan aksara khas)

Apabila memproses data MySQL dan GET dan POST, selalunya perlu untuk Petikan telah melarikan diri.

Terdapat tiga tetapan dalam PHP yang boleh menukar secara automatik ' (petikan tunggal), " (petikan berganda), (sentak belakang) dan aksara NULL.

PHP memanggilnya petikan ajaib , tiga tetapan ini ialah

magic_quotes_gpc

yang mempengaruhi data permintaan HTTP (GET, POST dan COOKIE) dan tidak boleh ditukar pada masa jalankan

Apabila ini didayakan, data yang dihantar melalui GET, POST dan COOKIE akan dikeluarkan secara automatik

Contohnya, test.php?id=abc'de"f

<.>echo $_GET['id. ']; # Anda akan mendapat abc'de"f

magic_quotes_gpc=On; Ini dihidupkan dan tidak mempunyai kesan pada penulisan ke pangkalan data, seperti $_GET['id '] di atas apabila ditulis kepada pangkalan data, ia masih abc'de"f,

Sebaliknya, jika magic_quotes_gpc=Off; maka aksara mesti mempunyai tanda petikan (tidak kira tanda petikan tunggal atau tanda petikan berganda), dan menulis terus ke mysql secara langsung akan menjadi kosong

tetapi jika anda menulisnya ke dokumen dan bukannya mysql. Kemudian ia akan menjadi abc'de"f

magic_quotes_runtime

Jika dihidupkan, kebanyakan fungsi yang mendapatkan data daripada sumber luaran dan mengembalikannya, termasuk daripada pangkalan data dan fail teks , data yang dikembalikan akan dilepaskan dengan garis miring ke belakang . Jika kedua-dua pilihan dihidupkan, petikan tunggal akan terlepas. Petikan berganda, garis miring ke belakang dan aksara NULL tidak akan terlepas.

Langkah Balas 1: Ubah suai fail php.ini (Saya tidak akan pergi ke kaedah mengubah suai php.ini, anda boleh google)Langkah Balas 2: Batalkan pelarian

Langkah 1: Cari data yang anda serahkan seperti $_POST['content'] dan tukarkannya kepada $content=stripslashes($_POST['content']);

我表单内容本来是:<img alt=”" width=”400″ height=”300″ src=”/Upfiles/201105/images/1306657040.jpg” />
<img alt=\”\” width=\”400\” height=\”300\” src=\”/Upfiles/201105/images/1306657040.jpg\” />
Langkah Kedua : Pada masa hadapan, gantikan $POST['content'] dengan $content

Langkah 3: Serahkan kepada pangkalan data, storan pangkalan data masih normal: 3d157376a84bd0222719055cdc5a7d7bIa berbunyi seperti

935bdfe23803f681c9ca43c7637ec85a (Anda sepatutnya tahu cara menyelesaikannya, kan? Mengapa saya tidak menghuraikan lebih lanjut)

Langkah 4: Baca pangkalan data Kemudian gunakan stripslashes() untuk menapis kandungan.

stripslashes() Fungsi ini mengalih keluar sengkang ke belakang yang ditambahkan oleh fungsi addslashes(). Digunakan untuk membersihkan data yang diambil daripada pangkalan data atau borang HTML

(

Jika anda tidak mahu situasi berikut berlaku dalam halaman PHP:

Petikan tunggal terlepas sebagai '

petikan berganda dilarikan sebagai "

Kemudian anda boleh membuat tetapan berikut untuk mengelakkan:

Tetapkan dalam php.ini: magic_quotes_gpc = Mati)

Ringkasan Seperti berikut:

1 Untuk kes magic_quotes_gpc=on,

kami tidak boleh melakukan operasi

addslashes() dan stripslash() pada data rentetan pangkalan data input dan output , data juga akan dipaparkan seperti biasa

Jika anda melakukan addslashes() pada data input pada masa ini,

maka anda mesti menggunakan stripslashes() untuk mengeluarkan lebihan garis miring ke belakang semasa mengeluarkan

2 Untuk kes magic_quotes_gpc=off

mesti menggunakan addslashes() untuk memproses data input, tetapi tidak perlu menggunakan stripslashes() untuk formatkan output

Kerana addslashes() tidak menulis backslashes ke dalam pangkalan data, ia hanya membantu mysql melengkapkan pelaksanaan pernyataan sql

Teks penuh: http://blog.csdn. net/qinglianluan. /article/details/26272689

Pengenalan kepada penggunaan fungsi php get_magic_quotes_gpc()

http://www.php100.com/html/php/hanshu/2013/ 0905/4689.html // Ia boleh difahami dengan cara ini: Fungsi ini adalah untuk menentukan sama ada fungsi "Escape Special Characters" pelayan didayakan

addslashes()

Teks penuh: http: //php.net/manual/zh/function.

Atas ialah kandungan terperinci Bagaimana untuk memasukkan ke dalam pangkalan data dan melaksanakan operasi melarikan diri dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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