Rumah Perpustakaan PHP Perpustakaan lain Pustaka kelas PHP untuk mengelakkan suntikan SQL
Pustaka kelas PHP untuk mengelakkan suntikan SQL
<?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


Penafian

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

Bagaimana untuk mencipta pustaka fungsi PHP dan menjadikannya menyokong suntikan pergantungan? Bagaimana untuk mencipta pustaka fungsi PHP dan menjadikannya menyokong suntikan pergantungan?

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.

Gunakan perpustakaan keselamatan PHP untuk mengelakkan suntikan kod berniat jahat Gunakan perpustakaan keselamatan PHP untuk mengelakkan suntikan kod berniat jahat

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

Bagaimana untuk mengelakkan serangan suntikan SQL dalam PHP Bagaimana untuk mengelakkan serangan suntikan SQL dalam PHP

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

Bagaimana untuk mengelakkan serangan suntikan SQL menggunakan PHP Bagaimana untuk mengelakkan serangan suntikan SQL menggunakan PHP

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.

Apakah cara untuk mengelakkan suntikan SQL dalam PHP? Apakah cara untuk mengelakkan suntikan SQL dalam PHP?

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

Petua pengaturcaraan PHP untuk mengelakkan serangan suntikan SQL Petua pengaturcaraan PHP untuk mengelakkan serangan suntikan SQL

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

See all articles