Rumah > pembangunan bahagian belakang > tutorial php > Ungkapan biasa PHP untuk mengesahkan aksara khas biasa

Ungkapan biasa PHP untuk mengesahkan aksara khas biasa

WBOY
Lepaskan: 2023-06-24 15:28:02
asal
1532 orang telah melayarinya

Aksara khas yang biasa digunakan untuk pengesahan ungkapan biasa PHP

Dalam pengaturcaraan, kita selalunya perlu mengesahkan data yang dimasukkan oleh pengguna. Dalam PHP, ungkapan biasa boleh memenuhi keperluan ini dengan mudah. Walau bagaimanapun, disebabkan oleh pelbagai jenis data yang dimasukkan oleh pengguna, kadangkala kita perlu memberi perhatian khusus kepada pengesahan aksara khas untuk memastikan kesahihan dan keselamatan data.

Julat aksara khas sangat luas, seperti teg HTML, alamat URL, teg XML, pernyataan SQL, dll. semuanya adalah aksara khas. Watak-watak ini boleh menjejaskan pelaksanaan program, atau dieksploitasi secara tidak wajar untuk menyebabkan kelemahan keselamatan. Oleh itu, kita perlu mengetahui aksara khas yang biasa digunakan dan menggunakan ungkapan biasa PHP untuk pengesahan.

  1. Teg HTML

Teg HTML ialah elemen penting dalam halaman web. Walau bagaimanapun, jika tidak ditapis dengan betul, tag ini juga boleh dieksploitasi untuk serangan. Ungkapan biasa PHP boleh digunakan untuk mengesahkan dan membersihkan teg HTML. Contohnya, ungkapan biasa berikut boleh mengesahkan sama ada teg HTML disertakan:

if (preg_match('/<(.*)>.*</>|<(.*) />/', $string)) {
    echo "包含HTML标记";
} else {
    echo "没有包含HTML标记";
}
Salin selepas log masuk

Dalam ungkapan biasa di atas,  mewakili padanan dalam kurungan pertama dalam ungkapan biasa dan  mewakili pertama Padanan antara dua kurungan.

  1. Aksara Alfanumerik

Aksara Alfanumerik ialah rentetan huruf dan nombor. Dalam sesetengah senario, hanya aksara abjad angka dibenarkan Dalam kes ini, kita boleh menggunakan ungkapan biasa berikut untuk pengesahan:

if (preg_match('/^[a-zA-Z0-9]+$/', $string)) {
    echo "是字母数字字符";
} else {
    echo "不是字母数字字符";
}
Salin selepas log masuk

Dalam ungkapan biasa di atas, ^ mewakili permulaan rentetan dan $ mewakili Penghujung rentetan, [a-zA-Z0-9] bermaksud memadankan mana-mana huruf atau nombor.

  1. Alamat URL

Dalam aplikasi, selalunya perlu untuk mengesahkan alamat URL yang dimasukkan oleh pengguna. Format alamat URL boleh disahkan dengan menggunakan ungkapan biasa berikut:

if (preg_match('/^http://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(/S*)?$/', $url)) {
    echo "URL地址格式正确";
} else {
    echo "URL地址格式错误";
}
Salin selepas log masuk

Dalam ungkapan biasa di atas, ^ mewakili permulaan rentetan, $ mewakili penghujung rentetan http:// mewakili padanan dengan " Rentetan yang bermula dengan "http://"; [a-zA-Z0-9-.]+ bermaksud memadankan mana-mana huruf, nombor, sempang atau noktah dan nombor itu sekurang-kurangnya 1; [a-zA-Z]{2,3} bermaksud memadankan mana-mana dua atau tiga huruf; (/S*)? bermaksud memadankan padanan garis miring diikuti dengan sebarang bilangan aksara bukan kosong, bahagian ini adalah pilihan.

  1. Teg XML

Dalam dokumen XML, teg dan kandungannya dibentangkan dalam format tertentu. Gunakan ungkapan biasa berikut untuk mengesahkan sama ada format teg XML adalah betul:

if (preg_match('/^<([^/]+?)>.*</>$/', $xml)) {
    echo "XML标签格式正确";
} else {
    echo "XML标签格式错误";
}
Salin selepas log masuk

Dalam ungkapan biasa di atas, ^ mewakili permulaan rentetan, $ mewakili penghujung rentetan, dan <([^/]+?)> mewakili padanan mana-mana aksara bukan segaris, kurungan menunjukkan untuk menggunakan bahagian ini sebagai padanan pertama dan merekodkannya; perlawanan. .*</>

Serangan suntikan SQL
  1. Serangan suntikan SQL ialah kaedah serangan rangkaian biasa Penyerang menyuntik pernyataan SQL ke dalam aplikasi, membenarkan aplikasi melaksanakan operasi berniat jahat. Gunakan ungkapan biasa berikut untuk menapis data yang dimasukkan pengguna untuk mengelakkan serangan suntikan SQL:
function filter_sql($string) {
    // 去除SQL关键字
    $string = preg_replace('/(SELECT|UPDATE|DELETE|DROP|INSERT|ALTER)/i', "", $string);

    // 去除单引号
    $string = str_replace("'", "", $string);

    return $string;
}
Salin selepas log masuk

Dalam ungkapan biasa di atas,

mewakili sempadan perkataan,

mewakili padanan kata kunci ini, Menunjukkan ketidakpekaan kes. (SELECT|UPDATE|DELETE|DROP|INSERT|ALTER)iApabila menulis aplikasi, kita perlu mempertimbangkan kepelbagaian dan keselamatan data Adalah sangat perlu untuk menggunakan ungkapan biasa PHP untuk mengesahkan dan membersihkan data yang dimasukkan pengguna. Melalui contoh di atas, kita dapat melihat bahawa ungkapan biasa PHP sangat berkuasa dan fleksibel, boleh digunakan dalam pelbagai senario, dan membantu kami memastikan keselamatan dan kebolehpercayaan aplikasi.

Atas ialah kandungan terperinci Ungkapan biasa PHP untuk mengesahkan aksara khas biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan