Rumah pangkalan data tutorial mysql 机房收费系统之结账BUG

机房收费系统之结账BUG

Jun 07, 2016 pm 04:00 PM
bug kandungan kenyataan

声明:以下内容只对将卡表和退卡表放在同一张表的同学适用! 最近大家都已经开始做VB.NET机房收费系统重构版,在这里跟大家聊聊我在机房收费系统中发现的漏洞。 在机房收费系统中有这样一个窗体--结账。个人认为结账的功能是:领导对操作员注册退卡进行结账

声明:以下内容只对将卡表和退卡表放在同一张表的同学适用!

最近大家都已经开始做VB.NET机房收费系统重构版,在这里跟大家聊聊我在机房收费系统中发现的漏洞。

在机房收费系统中有这样一个窗体--结账。个人认为结账的功能是:领导对操作员注册退卡进行结账,简单的说就是领导来收钱,如果你是一个操作员,每天充值退卡,你要知道你这段时间都赚了多少钱。

今天要说的重点就是卡表的结账!在结账中,有一个购卡,有一个退卡。也就是说,对于同一张卡,它注册后需要结账一次,退卡后也需要结账一次。

\

让我们来看看我数据库的卡表设计:

\


这里我们先不要纠结卡号是否为主键,每个字段的数据类型对不对。今天主要讲的是图中红色框框中的东西!如果你的注册和退卡在一张表中,如果你的卡表设计没有这四个字段,那么我可以很肯定的告诉你,你的结账有漏洞。

下面我们就来具体的说明为什么没有这四个字段就会有漏洞:
\
如图,一般大家的卡表设计都是这样,只有一个IsCheck字段和一个Handler字段。这样我们在结账的时候,如果有一张卡正在使用、未结账,然后我们就能在结账-购卡中把它查询出来。然后我们现在把它结账,这条记录的IsCheck字段就变成“已结账”,然后我们再对这张卡进行退卡操作!这时的退卡就没有结账,可是我们在结账-退卡中却查询不出来!这时为什么呢?现在我们来对比一下我们查询时使用的SQL语句:

结账-购卡
select * from T_Card where IsCheck='未结账' and handler=@handler
Salin selepas log masuk
select * from T_Card where regitsterIsCheck='未结账' and registerHandler=@handler
Salin selepas log masuk
结账-退卡
select * from T_Card where status='不使用' and IsCheck='未结账' and handler=@handler
Salin selepas log masuk
select * from T_Card where status='不使用' and logoutIsCheck='未结账' and logoutHandler=@handler
Salin selepas log masuk
通过对比这两条SQL语句,我们就能知道,如果结账-购卡的时候就把IsCheck字段改成“已结账”那么我们结账-退卡的时候就查不出来这条记录。

说完了registerIsCheck和logoutIsCheck字段的由来,下面再说说registerHandler和logoutHandler的由来:

如果我们的卡表里面只有一个Handler字段,那么如果我们在操作员1处购卡,在操作员2处退卡,那么该记录的Handler最后应该是谁呢?

通过以上的论述,相信大家对红色框中的四个字段的由来很信服了,如果大家还有什么不懂地方,可以找我私下讨论。
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
4 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)

Cara mendayakan Amaran Kandungan Sensitif pada iPhone dan ketahui ciri-cirinya Cara mendayakan Amaran Kandungan Sensitif pada iPhone dan ketahui ciri-cirinya Sep 22, 2023 pm 12:41 PM

Terutamanya sepanjang dekad yang lalu, peranti mudah alih telah menjadi cara utama untuk berkongsi kandungan dengan rakan dan keluarga. Antara muka yang mudah diakses, mudah digunakan dan keupayaan untuk menangkap imej dan video dalam masa nyata menjadikannya pilihan yang bagus untuk mencipta dan berkongsi kandungan. Walau bagaimanapun, adalah mudah bagi pengguna yang berniat jahat untuk menyalahgunakan alatan ini untuk memajukan kandungan sensitif yang tidak diingini yang mungkin tidak sesuai untuk dilihat dan tidak memerlukan persetujuan anda. Untuk mengelakkan perkara ini berlaku, ciri baharu dengan "Amaran Kandungan Sensitif" telah diperkenalkan dalam iOS17. Mari lihat dan cara menggunakannya pada iPhone anda. Apakah Amaran Kandungan Sensitif baharu dan bagaimana ia berfungsi? Seperti yang dinyatakan di atas, Amaran Kandungan Sensitif ialah ciri privasi dan keselamatan baharu yang direka untuk membantu menghalang pengguna daripada melihat kandungan sensitif, termasuk iPhone

Bagaimana untuk menukar pelayar Microsoft Edge untuk dibuka dengan navigasi 360 - Bagaimana untuk menukar pembukaan dengan navigasi 360 Bagaimana untuk menukar pelayar Microsoft Edge untuk dibuka dengan navigasi 360 - Bagaimana untuk menukar pembukaan dengan navigasi 360 Mar 04, 2024 pm 01:50 PM

Bagaimana untuk menukar halaman yang membuka pelayar Microsoft Edge kepada navigasi 360 Ia sebenarnya sangat mudah, jadi sekarang saya akan berkongsi dengan anda kaedah menukar halaman yang membuka pelayar Microsoft Edge kepada 360 navigasi Rakan-rakan yang memerlukan lihat. Saya harap dapat membantu semua orang. Buka penyemak imbas Microsoft Edge. Kami melihat halaman seperti di bawah. Klik pada ikon tiga titik di sudut kanan atas. Klik "Tetapan." Klik "Pada permulaan" dalam lajur kiri halaman tetapan. Klik pada tiga titik yang ditunjukkan dalam gambar di lajur kanan (jangan klik "Buka Tab Baharu"), kemudian klik Edit dan tukar URL kepada "0" (atau nombor lain yang tidak bermakna). Kemudian klik "Simpan". Seterusnya, pilih "

Apakah maksud pepijat permainan? Apakah maksud pepijat permainan? Feb 18, 2024 am 11:30 AM

Apakah yang dimaksudkan dengan pepijat permainan? Semasa proses bermain permainan, kami sering menghadapi beberapa ralat atau masalah yang tidak dijangka, seperti watak tersekat, tugas tidak dapat diteruskan, skrin berkelip, dsb. Fenomena abnormal ini dipanggil pepijat permainan, iaitu, kesalahan atau kesilapan dalam permainan. Dalam artikel ini, kami akan meneroka maksud pepijat permainan dan kesannya terhadap pemain dan pembangun. Pepijat permainan merujuk kepada ralat yang berlaku semasa pembangunan atau pengendalian permainan, menyebabkan permainan gagal berjalan seperti biasa atau berkelakuan di luar jangkaan. Kesilapan ini mungkin disebabkan oleh

Ringkasan pepijat Apple iOS18 Ringkasan pepijat Apple iOS18 Jun 14, 2024 pm 01:48 PM

Memandangkan persidangan WWDC Apple 2024 mencapai kesimpulan yang berjaya, bukan sahaja macos15 diumumkan, tetapi kemas kini sistem iOS18 baharu Apple paling menarik perhatian Walaupun terdapat banyak ciri baharu, sebagai versi pertama iOS18 Apple, orang ramai pasti tertanya-tanya sama ada ia adalah perlu untuk menaik taraf Apple iOS18, apakah jenis pepijat yang terdapat dalam keluaran terbaru Apple iOS18? Selepas penilaian penggunaan sebenar, berikut ialah ringkasan pepijat Apple iOS18, mari kita lihat. Pada masa ini, ramai pengguna iPhone tergesa-gesa untuk menaik taraf kepada iOS18 Namun, pelbagai pepijat sistem menyebabkan orang tidak selesa. Sesetengah penulis blog berkata bahawa anda harus berhati-hati semasa menaik taraf kepada iOS18 kerana "terdapat banyak pepijat." Blogger itu berkata bahawa jika iPhone anda adalah

Bagaimana untuk menyediakan Cheat Engine dalam bahasa Cina? Kaedah Cina tetapan Cheat Engine Bagaimana untuk menyediakan Cheat Engine dalam bahasa Cina? Kaedah Cina tetapan Cheat Engine Mar 13, 2024 pm 04:49 PM

CheatEngine ialah editor permainan yang boleh mengedit dan mengubah suai memori permainan. Walau bagaimanapun, bahasa lalainya adalah bukan bahasa Cina, yang menyusahkan ramai rakan Jadi bagaimana untuk menetapkan bahasa Cina dalam CheatEngine? Hari ini, editor akan memberi anda pengenalan terperinci tentang cara menyediakan bahasa Cina dalam CheatEngine saya harap ia dapat membantu anda. Kaedah tetapan satu: 1. Klik dua kali untuk membuka perisian dan klik "edit" di sudut kiri atas. 2. Kemudian klik "tetapan" dalam senarai pilihan di bawah. 3. Dalam tetingkap yang terbuka, klik "bahasa" dalam lajur kiri

Apakah maksud bagasi sistem? Apakah maksud bagasi sistem? Nov 09, 2022 pm 02:40 PM

Bagage sistem merujuk kepada pepijat sistem; maksud asal pepijat ialah "pepijat", dan kini ia boleh digunakan untuk merujuk kepada kelemahan yang wujud pada komputer Sebabnya ialah terdapat kelemahan dalam dasar keselamatan sistem dan bahayanya penyerang boleh mengakses tanpa kebenaran dalam erti kata yang luas Di Internet, pepijat boleh digunakan untuk menggambarkan kelemahan atau kecacatan yang berlaku dalam pelbagai bidang.

Di mana untuk menetapkan butang muat turun dalam Microsoft Edge - Bagaimana untuk menetapkan butang muat turun dalam Microsoft Edge Di mana untuk menetapkan butang muat turun dalam Microsoft Edge - Bagaimana untuk menetapkan butang muat turun dalam Microsoft Edge Mar 06, 2024 am 11:49 AM

Adakah anda tahu di mana Microsoft Edge ditetapkan untuk memaparkan butang muat turun di bawah, editor akan membawakan anda kaedah menetapkan butang muat turun untuk dipaparkan dalam Microsoft Edge Saya harap ia akan membantu anda tentangnya! Langkah 1: Mula-mula buka Pelayar Microsoft Edge, klik logo [...] di sudut kanan atas, seperti yang ditunjukkan dalam rajah di bawah. Langkah 2: Kemudian klik [Settings] dalam menu pop timbul, seperti yang ditunjukkan dalam rajah di bawah. Langkah 3: Kemudian klik [Penampilan] di sebelah kiri antara muka, seperti yang ditunjukkan dalam rajah di bawah. Langkah 4: Akhir sekali, klik butang di sebelah kanan [Tunjukkan Butang Muat Turun] dan ia akan bertukar daripada kelabu kepada biru, seperti yang ditunjukkan dalam rajah di bawah. Di atas ialah tempat editor membawa anda cara menyediakan butang muat turun dalam Microsoft Edge.

Mengisih ralat dan isu Win11 Mengisih ralat dan isu Win11 Jan 13, 2024 pm 08:21 PM

Sesetengah orang ingin mengemas kini win11, tetapi mereka tidak tahu sama ada terdapat banyak pepijat dalam win11 dan sama ada kemas kini itu akan menyebabkan masalah, sebenarnya, terdapat pepijat dalam win11 sekarang, tetapi ia mempunyai sedikit kesan ke atas penggunaan. Adakah terdapat banyak pepijat dalam win11 Jawapan: Masih terdapat banyak pepijat dalam win11. Walau bagaimanapun, pepijat ini mempunyai sedikit kesan ke atas penggunaan harian. Jika pengguna mempunyai keperluan yang tinggi untuk kegunaan harian, adalah disyorkan untuk menggunakannya kemudian. Ringkasan pepijat win11 1. Pengurus Sumber 1. Kadangkala limpahan memori berlaku, mengakibatkan penggunaan memori yang tinggi bagi Pengurus Sumber. 2. Keadaan ini akan menyebabkan penggunaan memori melebihi 70%, dan komputer akan membeku atau malah ranap. 2. Konflik dan ranap 1. Sesetengah aplikasi tidak cukup serasi, menyebabkan konflik antara satu sama lain. 2. Walaupun terdapat sedikit prosedur konflik,

See all articles