php字符转义注意事项
今天碰到一个处理文件特殊字符的事情,再次注意到这个问题.
在php中:
* 以单引号为定界符的php字符串,支持两个转义\'和\\
* 以双引号为定界符的php字符串,支持下列转义:
\n 换行(LF 或 ASCII 字符 0x0A(10))
\r 回车(CR 或 ASCII 字符 0x0D(13))
\t 水平制表符(HT 或 ASCII 字符 0x09(9))
\\ 反斜线
\$ 美元符号
\" 双引号
\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符
举几个例子:
一个包含\0特殊字符的例子:
$str = "ffff\0ffff"; echo(strlen($str)); echo("\n"); for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i})); echo("\n");
输出结果:
----------------------
9
102 102 102 102 0 102 102 102 102
替换特殊字符的例子
$str = "ffff\0ffff"; $str = str_replace("\x0", "", $str); //或者用$str = str_replace("\0", "", $str); //或者用$str = str_replace(chr(0), "", $str); echo(strlen($str)); echo("\n"); for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i})); echo("\n");
输出结果:
----------------------
8
102 102 102 102 102 102 102 102
八进制ascii码例子:
//注意,符合正则\[0-7]{1,3}的字符串,表示一个八进制的ascii码。
$str = "\0\01\02\3\7\10\011\08\8"; //这里的\8不符合要求,被修正为"\\8" (ascii为92和56) echo(strlen($str)); echo("\n"); for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i})); echo("\n");
输出结果:
----------------------
11
0 1 2 3 7 8 9 0 56 92 56
十六进制ascii码例子:
$str = "\x0\x1\x2\x3\x7\x8\x9\x10\x11\xff"; echo(strlen($str)); echo("\n"); for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i})); echo("\n");
输出结果:
----------------------
10
0 1 2 3 7 8 9 16 17 255
【推荐阅读:php入门教程】

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Fungsi preg_quote() dalam PHP: Cara untuk melepaskan aksara khas dalam rentetan ke dalam aksara ekspresi biasa memerlukan contoh kod khusus Dalam pembangunan, kami sering menggunakan ungkapan biasa untuk memadankan dan memproses rentetan. Walau bagaimanapun, beberapa rentetan mungkin mengandungi beberapa aksara khas, seperti metacharacter dalam ungkapan biasa, yang mempunyai makna khas dan menyebabkan ungkapan biasa gagal berfungsi dengan baik. Untuk menyelesaikan masalah ini, PHP menyediakan fungsi preg_quote() untuk melepaskan aksara khas dalam rentetan

Gambaran keseluruhan langkah perlindungan dan amalan keselamatan terhadap serangan XSS Serangan skrip merentas tapak (XSS) ialah kelemahan keselamatan biasa yang mengeksploitasi pengesahan dan penapisan input pengguna yang tidak mencukupi. Penyerang boleh mencuri maklumat sensitif pengguna, seperti bukti kelayakan log masuk, maklumat peribadi, dsb., dengan memasukkan kod skrip berniat jahat ke dalam halaman web. Untuk melindungi keselamatan tapak web dan pengguna, kami perlu melaksanakan beberapa langkah perlindungan dan amalan keselamatan untuk mencegah serangan seperti ini. Pengesahan dan penapisan input Pertama, kita perlu mengesahkan dan menapis input pengguna untuk memastikan bahawa data yang dimasukkan memenuhi jangkaan

Dalam pembangunan bahasa PHP, petikan tunggal, petikan berganda dan garis miring ke belakang ialah aksara biasa, tetapi apabila memproses rentetan, ia mungkin menyebabkan masalah melarikan diri. Berikut ialah cara menangani isu ini untuk memastikan kod PHP anda boleh mengendalikan aksara ini dengan betul. Masalah tanda petikan tunggal Dalam PHP, tanda petikan tunggal digunakan untuk mewakili rentetan, tetapi menggunakan tanda petikan tunggal dalam tanda petikan tunggal akan menyebabkan masalah melarikan diri. Contohnya: $myString='I'maPHPdeveloper.';

Teknik melarikan diri ungkapan biasa yang biasa digunakan dalam pengaturcaraan PHP memerlukan contoh kod khusus ialah alat yang sangat biasa digunakan dalam pengaturcaraan PHP Melalui ungkapan biasa, kita boleh memadankan, mencari dan menggantikan operasi dalam teks. Walau bagaimanapun, apabila menggunakan ungkapan biasa, kadangkala kita menghadapi aksara khas yang perlu dilepaskan, jika tidak, hasil padanan yang tidak dijangka akan berlaku. Dalam artikel ini, kami akan memperkenalkan teknik melarikan diri ungkapan biasa yang biasa digunakan dalam pengaturcaraan PHP dan memberikan contoh kod khusus. Escape slash `` dalam ungkapan biasa

Rentetan bahasa Go escape dan anti-escaping membolehkan pembangun menentukan aksara yang tidak boleh dipaparkan atau menyimpan aksara secara literal. Escape menggunakan garis miring ke belakang untuk menukar aksara khas kepada urutan melarikan diri, manakala unescaping menggunakan backticks untuk memulihkan nilai asal urutan melarikan diri. Memahami operasi ini adalah penting untuk memproses teks yang mengandungi aksara khas, seperti melepaskan teg HTML ke dalam teks biasa tanpa menghuraikannya.

Tajuk: Menghurai Misteri Aksara Melarikan Kurang Daripada atau Sama Dalam MyBatis Apabila menggunakan MyBatis untuk operasi pangkalan data, anda sering menghadapi situasi di mana anda perlu membuat pertanyaan untuk nilai yang kurang daripada atau sama dengan nilai tertentu. Dalam pernyataan SQL, keadaan kurang daripada atau sama biasanya menggunakan "

Memahami fungsi htmlspecialchars() dalam PHP digunakan untuk melepaskan aksara khas HTML Fungsi htmlspecialchars() dalam PHP ialah fungsi pemprosesan rentetan yang biasa digunakan yang digunakan untuk menukar aksara khas HTML kepada entiti yang sepadan. Tujuannya adalah untuk mengelakkan ralat sintaks atau lubang keselamatan dalam halaman HTML, dan juga untuk memastikan bahawa data yang dimasukkan oleh pengguna dipaparkan dengan betul pada halaman. Dalam kebanyakan kes, kami perlu menganggap data yang dimasukkan pengguna sebagai kod HTML

Gunakan fungsi PHP "mysqli_real_escape_string" untuk melepaskan aksara khas dalam rentetan untuk mengelakkan suntikan SQL Pengenalan: Dalam proses pembangunan laman web yang berinteraksi dengan pangkalan data, kita selalunya perlu menyimpan data yang dimasukkan oleh pengguna ke dalam pangkalan data. Walau bagaimanapun, jika data yang dimasukkan oleh pengguna tidak diproses, pengguna berniat jahat boleh menggunakan data yang dimasukkan untuk menjalankan serangan suntikan SQL, menyebabkan kerosakan serius pada pangkalan data. Untuk mengelakkan ini daripada berlaku, kita boleh menggunakan fungsi PHP"
