<?php class sqlsafe { private $getfilter = "'|(and|or)\b.+?(>|<|=|in|like)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)"; private $postfilter = "\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)"; private $cookiefilter = "\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)"; public function __construct() { foreach($_GET as $key=>$value){$this->stopattack($key,$value,$this->getfilter);} foreach($_POST as $key=>$value){$this->stopattack($key,$value,$this->postfilter);} foreach($_COOKIE as $key=>$value){$this->stopattack($key,$value,$this->cookiefilter);} } public function stopattack($StrFiltKey, $StrFiltValue, $ArrFiltReq){ if(is_array($StrFiltValue))$StrFiltValue = implode($StrFiltValue); if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue) == 1){ $this->writeslog($_SERVER["REMOTE_ADDR"]." ".strftime("%Y-%m-%d %H:%M:%S")." ".$_SERVER["PHP_SELF"]." ".$_SERVER["REQUEST_METHOD"]." ".$StrFiltKey." ".$StrFiltValue); showmsg('您提交的参数非法,系统已记录您的本次操作!','',0,1); } } public function writeslog($log){ $log_path = CACHE_PATH.'logs'.DIRECTORY_SEPARATOR.'sql_log.txt'; $ts = fopen($log_path,"a+"); fputs($ts,$log."\r\n"); fclose($ts); } }
Pustaka kelas ini mula-mula membina parameter fungsi, kemudian menyemak dan menulis log, dan akhirnya menyemak log suntikan SQL. Ia adalah perpustakaan kelas PHP yang sangat berguna untuk menghalang suntikan SQL
Semua sumber di laman web ini disumbangkan oleh netizen atau dicetak semula oleh tapak muat turun utama. Sila semak integriti perisian itu sendiri! Semua sumber di laman web ini adalah untuk rujukan pembelajaran sahaja. Tolong jangan gunakannya untuk tujuan komersial. Jika tidak, anda akan bertanggungjawab untuk semua akibat! Jika terdapat sebarang pelanggaran, sila hubungi kami untuk memadamkannya. Maklumat hubungan: admin@php.cn
Artikel Berkaitan
26 Apr 2024
Cara mencipta pustaka fungsi PHP yang menyokong suntikan kebergantungan (DI): Cipta pakej Komposer sebagai pustaka fungsi. Laksanakan fungsi perpustakaan fungsi, seperti melaksanakan fungsi ucapan dalam fail. Pasang bekas PhpDI dan buat konfigurasi kontena, tambahkan kelas perpustakaan fungsi pada bekas sebagai definisi kilang. Gunakan perpustakaan dalam kod dan suntikan kebergantungan, seperti menggunakan bekas untuk mendapatkan contoh kelas perpustakaan. Dalam aplikasi praktikal, seperti menyimpan data pengguna ke pangkalan data, menyuntik sambungan pangkalan data untuk meningkatkan fleksibiliti.
05 Jul 2023
Gunakan pustaka keselamatan PHP untuk mengelakkan suntikan kod berniat jahat Dengan perkembangan teknologi Internet, isu keselamatan tapak web dan aplikasi telah menarik lebih banyak perhatian. Suntikan kod hasad ialah ancaman keselamatan biasa Penyerang menyuntik kod hasad ke dalam input pengguna untuk melaksanakan kod jauh, dengan itu mendapatkan maklumat sensitif atau merosakkan sistem. Untuk meningkatkan keselamatan, kami boleh menggunakan perpustakaan keselamatan PHP untuk menapis dan mengesahkan input pengguna untuk mengelakkan suntikan kod berniat jahat. Perpustakaan Keselamatan PHP ialah sambungan PHP sumber terbuka yang menyediakan satu set
20 May 2023
Dalam aplikasi web, serangan suntikan SQL adalah kaedah serangan biasa. Ia mengambil kesempatan daripada kegagalan aplikasi untuk menapis atau menyekat input pengguna dan memasukkan pernyataan SQL yang berniat jahat ke dalam aplikasi, menyebabkan pangkalan data dikawal oleh penyerang dan mencuri data sensitif. Bagi pembangun PHP, cara berkesan mencegah serangan suntikan SQL adalah kemahiran yang mesti dikuasai. Artikel ini akan memperkenalkan amalan terbaik untuk mencegah serangan suntikan SQL dalam PHP pembangun PHP disyorkan untuk mengikuti langkah berikut untuk melindungi aplikasi mereka. 1.Gunakan prasyarat
24 Jun 2023
Dalam bidang keselamatan rangkaian, serangan suntikan SQL adalah kaedah serangan biasa. Ia mengeksploitasi kod berniat jahat yang diserahkan oleh pengguna berniat jahat untuk mengubah tingkah laku aplikasi untuk melaksanakan operasi yang tidak selamat. Serangan suntikan SQL biasa termasuk operasi pertanyaan, operasi sisipan dan operasi padam. Antaranya, operasi pertanyaan adalah yang paling kerap diserang, dan kaedah biasa untuk menghalang serangan suntikan SQL ialah menggunakan PHP. PHP ialah bahasa skrip sebelah pelayan yang biasa digunakan yang digunakan secara meluas dalam aplikasi web. PHP boleh dikaitkan dengan MySQL dll.
30 Jun 2023
Bagaimana untuk menangani masalah suntikan SQL dalam PHP? Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat Internet, bilangan laman web dan aplikasi terus meningkat, dan salah satu bahasa pembangunan yang biasa adalah PHP. Walau bagaimanapun, penggunaan PHP juga menimbulkan beberapa isu keselamatan, salah satunya adalah suntikan SQL. Serangan suntikan SQL merujuk kepada penggodam yang membina pernyataan SQL yang berniat jahat untuk mendapatkan, mengubah suai atau memusnahkan data dalam pangkalan data. Untuk melindungi keselamatan tapak web dan aplikasi, pembangun perlu mengambil beberapa langkah untuk mengelakkan berlakunya kelemahan suntikan SQL. Pertama, kembangkan
09 Jul 2023
Pengenalan kepada kemahiran pengaturcaraan PHP untuk mencegah serangan suntikan SQL: Suntikan SQL ialah kaedah biasa serangan aplikasi web Penyerang memasukkan kod SQL berniat jahat ke dalam data yang dimasukkan oleh pengguna untuk mendapatkan akses tidak sah ke pangkalan data atau melakukan operasi berniat jahat. Untuk melindungi aplikasi kami daripada serangan suntikan SQL, kami perlu menggunakan beberapa teknik pengaturcaraan untuk menapis, melarikan diri dan mengesahkan data yang dimasukkan pengguna. Artikel ini akan membincangkan beberapa teknik pengaturcaraan PHP biasa untuk membantu kami mencegah serangan suntikan SQL. Gunakan pernyataan yang disediakan
Hot Tools
Pustaka PHP untuk bekas suntikan kebergantungan
Pustaka PHP untuk bekas suntikan kebergantungan
Koleksi 50 algoritma PHP klasik yang sangat baik
Algoritma PHP klasik, pelajari idea yang sangat baik dan kembangkan pemikiran anda
Pustaka PHP kecil untuk mengoptimumkan imej
Pustaka PHP kecil untuk mengoptimumkan imej