Rumah pembangunan bahagian belakang tutorial php 网站出有关问题了,有漏洞,今天来这里请csdn的兄弟帮忙解决

网站出有关问题了,有漏洞,今天来这里请csdn的兄弟帮忙解决

Jun 13, 2016 pm 12:01 PM
id nbsp post select sql

网站出问题了,有漏洞,今天来这里请csdn的兄弟帮忙解决
我做了个保健品站 http://www.bjp51.net 这两天有点问题,用360一扫,高危,只有49分,报告如下:



第一个是很严重的问题,今天想把第一个问题解决了。
看下360给出的意见


我不知道怎么改,希望大家帮忙解决下。



------解决方案--------------------
$id='';
if(!empty($_POST['id'])){
    for($i=0; $i    $id=$id.($_POST['id'][$i].',');
    }
    $id=substr($id,0,strlen($id)-1);//去除最后面的","
}
$sql="select * from zzcms_main where id in ($id)" 

他认为你未经检查就在 sql 指令中使用了传入的数据
------解决方案--------------------
SQL注入的原理是,从地址栏或者表单中注入


如果你从地址栏得到一个$_GET["a"],不经过过滤就直接使用到程序中,就会造成威胁。比如:

如果$_GET["a"]=1;那么:
$sql = "SELECT * FROM AA  WHERE id =$_GET["a"]";就是$sql = "SELECT * FROM AA  WHERE id =1";
但如果别人通过地址栏自行修改,把$_GET["a"]的值改为1  or (and) XXX各类代码,那这个查询语句就变成

$sql = "SELECT * FROM AA  WHERE id =1 or(and)  xxx";


于是就中招了。

所以地址栏和表单得到的参数,一定要格式化,过滤好,指定是什么类型,多长,限制哪些字符……
------解决方案--------------------
$sql="select * from zzcms_main where id in ($id)" ;
$id沒有進行過濾,用戶輸入什麼都可以,當然被注入了。

因為id只能是數字,所以可以用intval轉成數字,如果非數字會轉為0,這樣就注入不到了。
------解决方案--------------------
传入的数据把单引号替换为两个连续的单引号 , sql语句用传入的参数时加上单引号。
$id = str_replace("'","''",$_POST['id']);
$sql = " select * from tb_user wher id='$id' ";
这样就不怕注入了。
------解决方案--------------------

if(!empty($_POST['id'])) {<br />  $id = join(',', array_map('intval', $_POST['id']));<br />}<br />
Salin selepas log masuk
最好把 $id 换个名字

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

ID Apple ini belum lagi digunakan dalam iTunes Store: Betulkan ID Apple ini belum lagi digunakan dalam iTunes Store: Betulkan Jun 10, 2024 pm 05:42 PM

Apabila log masuk ke iTunesStore menggunakan AppleID, ralat ini mengatakan "AppleID ini belum digunakan dalam iTunesStore" mungkin dilemparkan pada skrin. Tiada mesej ralat yang perlu dibimbangkan, anda boleh membetulkannya dengan mengikuti set penyelesaian ini. Betulkan 1 – Tukar Alamat Penghantaran Sebab utama gesaan ini muncul di iTunes Store ialah anda tidak mempunyai alamat yang betul dalam profil AppleID anda. Langkah 1 – Pertama, buka Tetapan iPhone pada iPhone anda. Langkah 2 – AppleID harus berada di atas semua tetapan lain. Jadi, bukalah. Langkah 3 – Setelah sampai, buka pilihan “Pembayaran & Penghantaran”. Langkah 4 – Sahkan akses anda menggunakan Face ID. langkah

Betulkan ralat cakera ID acara 55, 50, 98, 140 dalam pemapar acara Betulkan ralat cakera ID acara 55, 50, 98, 140 dalam pemapar acara Mar 19, 2024 am 09:43 AM

Jika anda menemui ID acara 55, 50, 140 atau 98 dalam Pemapar Acara Windows 11/10, atau menghadapi ralat bahawa struktur sistem fail cakera rosak dan tidak boleh digunakan, sila ikut panduan di bawah untuk menyelesaikan isu tersebut. Apakah maksud Peristiwa 55, struktur sistem fail pada cakera rosak dan tidak boleh digunakan? Pada sesi 55, struktur sistem fail pada cakera Ntfs rosak dan tidak boleh digunakan. Sila jalankan utiliti chkMSK pada volum Apabila NTFS tidak dapat menulis data ke log transaksi, ralat dengan ID Peristiwa 55 akan dicetuskan, yang akan menyebabkan NTFS gagal menyelesaikan operasi tidak dapat menulis data transaksi. Ralat ini biasanya berlaku apabila sistem fail rosak, mungkin disebabkan oleh kehadiran sektor buruk pada cakera atau ketidakcukupan sistem fail subsistem cakera.

Apakah perbezaan antara HQL dan SQL dalam rangka kerja Hibernate? Apakah perbezaan antara HQL dan SQL dalam rangka kerja Hibernate? Apr 17, 2024 pm 02:57 PM

HQL dan SQL dibandingkan dalam rangka kerja Hibernate: HQL (1. Sintaks berorientasikan objek, 2. Pertanyaan bebas pangkalan data, 3. Keselamatan jenis), manakala SQL mengendalikan pangkalan data secara langsung (1. Piawaian bebas pangkalan data, 2. Boleh laku kompleks pertanyaan dan manipulasi data).

10 Cara untuk Melaraskan Kecerahan pada Windows 11 10 Cara untuk Melaraskan Kecerahan pada Windows 11 Dec 18, 2023 pm 02:21 PM

Kecerahan skrin adalah bahagian penting dalam menggunakan peranti pengkomputeran moden, terutamanya apabila anda melihat skrin untuk jangka masa yang lama. Ia membantu anda mengurangkan ketegangan mata, meningkatkan kebolehbacaan dan melihat kandungan dengan mudah dan cekap. Walau bagaimanapun, bergantung pada tetapan anda, kadangkala sukar untuk mengurus kecerahan, terutamanya pada Windows 11 dengan perubahan UI baharu. Jika anda menghadapi masalah melaraskan kecerahan, berikut ialah semua cara untuk mengurus kecerahan pada Windows 11. Cara Menukar Kecerahan pada Windows 11 [10 Cara Diterangkan] Pengguna monitor tunggal boleh menggunakan kaedah berikut untuk melaraskan kecerahan pada Windows 11. Ini termasuk sistem desktop menggunakan monitor tunggal serta komputer riba. Jom mulakan. Kaedah 1: Gunakan Pusat Tindakan Pusat Tindakan boleh diakses

Penggunaan operasi bahagian dalam Oracle SQL Penggunaan operasi bahagian dalam Oracle SQL Mar 10, 2024 pm 03:06 PM

"Penggunaan Operasi Bahagian dalam OracleSQL" Dalam OracleSQL, operasi bahagi ialah salah satu operasi matematik yang biasa. Semasa pertanyaan dan pemprosesan data, operasi pembahagian boleh membantu kami mengira nisbah antara medan atau memperoleh hubungan logik antara nilai tertentu. Artikel ini akan memperkenalkan penggunaan operasi pembahagian dalam OracleSQL dan memberikan contoh kod khusus. 1. Dua cara operasi bahagi dalam OracleSQL Dalam OracleSQL, operasi bahagi boleh dilakukan dalam dua cara berbeza.

Perbandingan dan perbezaan sintaks SQL antara Oracle dan DB2 Perbandingan dan perbezaan sintaks SQL antara Oracle dan DB2 Mar 11, 2024 pm 12:09 PM

Oracle dan DB2 ialah dua sistem pengurusan pangkalan data hubungan yang biasa digunakan, setiap satunya mempunyai sintaks dan ciri SQL tersendiri. Artikel ini akan membandingkan dan membezakan antara sintaks SQL Oracle dan DB2, dan memberikan contoh kod khusus. Sambungan pangkalan data Dalam Oracle, gunakan pernyataan berikut untuk menyambung ke pangkalan data: CONNECTusername/password@database Dalam DB2, pernyataan untuk menyambung ke pangkalan data adalah seperti berikut: CONNECTTOdataba

Penjelasan terperinci tentang fungsi Set tag dalam teg SQL dinamik MyBatis Penjelasan terperinci tentang fungsi Set tag dalam teg SQL dinamik MyBatis Feb 26, 2024 pm 07:48 PM

Tafsiran teg SQL dinamik MyBatis: Penjelasan terperinci tentang penggunaan teg Set MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik Ia menyediakan banyak teg SQL dinamik dan boleh membina pernyataan operasi pangkalan data secara fleksibel. Antaranya, tag Set ialah tag yang digunakan untuk menjana klausa SET dalam kenyataan UPDATE, yang sangat biasa digunakan dalam operasi kemas kini. Artikel ini akan menerangkan secara terperinci penggunaan teg Set dalam MyBatis dan menunjukkan kefungsiannya melalui contoh kod tertentu. Apakah itu Set tag Set tag digunakan dalam MyBati

Di manakah saya boleh mencari ID Alibaba? Di manakah saya boleh mencari ID Alibaba? Mar 08, 2024 pm 09:49 PM

Dalam perisian Alibaba, sebaik sahaja anda berjaya mendaftarkan akaun, sistem akan memberikan anda ID unik, yang akan berfungsi sebagai identiti anda pada platform. Tetapi bagi kebanyakan pengguna, mereka ingin menanyakan ID mereka, tetapi tidak tahu cara melakukannya. Kemudian editor laman web ini akan membawakan anda pengenalan terperinci kepada langkah-langkah strategi di bawah, saya harap ia dapat membantu anda! Di mana untuk mencari jawapan kepada Alibaba ID: [Alibaba]-[My]. 1. Mula-mula buka perisian Alibaba Selepas memasuki laman utama, kita perlu klik [My] di sudut kanan bawah 2. Kemudian selepas datang ke halaman Saya, kita boleh melihat [id] di bahagian atas halaman; Adakah ID sama dengan Taobao Alibaba ID dan Taobao ID adalah berbeza, tetapi kedua-duanya

See all articles