机房收费系统之结账BUG
声明:以下内容只对将卡表和退卡表放在同一张表的同学适用! 最近大家都已经开始做VB.NET机房收费系统重构版,在这里跟大家聊聊我在机房收费系统中发现的漏洞。 在机房收费系统中有这样一个窗体--结账。个人认为结账的功能是:领导对操作员注册退卡进行结账
声明:以下内容只对将卡表和退卡表放在同一张表的同学适用!最近大家都已经开始做VB.NET机房收费系统重构版,在这里跟大家聊聊我在机房收费系统中发现的漏洞。
在机房收费系统中有这样一个窗体--结账。个人认为结账的功能是:领导对操作员注册退卡进行结账,简单的说就是领导来收钱,如果你是一个操作员,每天充值退卡,你要知道你这段时间都赚了多少钱。
今天要说的重点就是卡表的结账!在结账中,有一个购卡,有一个退卡。也就是说,对于同一张卡,它注册后需要结账一次,退卡后也需要结账一次。

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

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

如图,一般大家的卡表设计都是这样,只有一个IsCheck字段和一个Handler字段。这样我们在结账的时候,如果有一张卡正在使用、未结账,然后我们就能在结账-购卡中把它查询出来。然后我们现在把它结账,这条记录的IsCheck字段就变成“已结账”,然后我们再对这张卡进行退卡操作!这时的退卡就没有结账,可是我们在结账-退卡中却查询不出来!这时为什么呢?现在我们来对比一下我们查询时使用的SQL语句:
结账-购卡:
select * from T_Card where IsCheck='未结账' and handler=@handler
select * from T_Card where regitsterIsCheck='未结账' and registerHandler=@handler
select * from T_Card where status='不使用' and IsCheck='未结账' and handler=@handler
select * from T_Card where status='不使用' and logoutIsCheck='未结账' and logoutHandler=@handler
说完了registerIsCheck和logoutIsCheck字段的由来,下面再说说registerHandler和logoutHandler的由来:
如果我们的卡表里面只有一个Handler字段,那么如果我们在操作员1处购卡,在操作员2处退卡,那么该记录的Handler最后应该是谁呢?通过以上的论述,相信大家对红色框中的四个字段的由来很信服了,如果大家还有什么不懂地方,可以找我私下讨论。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











특히 지난 10년 동안 모바일 장치는 친구 및 가족과 콘텐츠를 공유하는 주요 방법이 되었습니다. 접근하기 쉽고 사용하기 쉬운 인터페이스와 실시간으로 이미지 및 비디오를 캡처할 수 있는 기능은 콘텐츠 제작 및 공유를 위한 탁월한 선택입니다. 그러나 악의적인 사용자가 이러한 도구를 악용하여 보기에 적합하지 않고 사용자의 동의가 필요하지 않은 원치 않는 민감한 콘텐츠를 전달하기 쉽습니다. 이러한 일이 발생하지 않도록 iOS17에는 "민감한 콘텐츠 경고"라는 새로운 기능이 도입되었습니다. 이에 대해 살펴보고 iPhone에서 사용하는 방법을 살펴보겠습니다. 새로운 민감한 콘텐츠 경고는 무엇이며 어떻게 작동하나요? 위에서 언급한 것처럼 민감한 콘텐츠 경고는 사용자가 iPhone을 포함한 민감한 콘텐츠를 보지 못하도록 설계된 새로운 개인 정보 보호 및 보안 기능입니다.

Microsoft Edge 브라우저에서 360 탐색 페이지를 여는 페이지를 변경하는 방법은 실제로 매우 간단하므로 이제 Microsoft Edge에서 360 탐색 페이지를 여는 페이지를 변경하는 방법을 공유하겠습니다. 브라우저가 필요한 친구가 모두를 도울 수 있기를 바랍니다. Microsoft Edge 브라우저를 엽니다. 아래와 같은 페이지가 보입니다. 오른쪽 상단에 있는 점 3개 아이콘을 클릭하세요. '설정'을 클릭하세요. 설정 페이지의 왼쪽 열에서 "시작 시"를 클릭하세요. 오른쪽 열의 그림에 표시된 세 지점을 클릭한 다음("새 탭 열기"를 클릭하지 마세요), 편집을 클릭하고 URL을 "0"(또는 기타 의미 없는 숫자)으로 변경하세요. 그런 다음 "저장"을 클릭하세요. 다음으로 '를 선택하세요.

게임 버그란 무엇을 의미합니까? 게임을 플레이하는 동안 캐릭터가 멈추거나 작업을 계속할 수 없거나 화면이 깜박이는 등 예상치 못한 오류나 문제가 자주 발생합니다. 이러한 비정상적인 현상을 게임 버그, 즉 게임의 결함이나 오류라고 합니다. 이 기사에서는 게임 버그가 무엇을 의미하는지, 그리고 버그가 플레이어와 개발자에게 미치는 영향을 살펴보겠습니다. 게임 버그란 게임 개발이나 운영 과정에서 발생하는 오류로 인해 게임이 정상적으로 실행되지 않거나 예상치 못한 동작을 하는 현상을 말합니다. 이러한 오류는 다음으로 인해 발생할 수 있습니다.

Apple의 WWDC 컨퍼런스 2024가 성공적으로 마무리되면서 macos15가 발표되었을 뿐만 아니라 Apple의 새로운 iOS18 시스템 업데이트가 가장 큰 관심을 끌었습니다. Apple iOS18을 업그레이드하려면 최신 버전의 Apple iOS18에 어떤 종류의 버그가 있습니까? 실제 사용 평가를 마친 후 Apple iOS 18 버그를 요약하면 다음과 같습니다. 현재 많은 아이폰 사용자들이 iOS18로의 업그레이드를 서두르고 있지만, 각종 시스템 버그들이 사람들을 불편하게 만들고 있다. 일부 블로거는 "버그가 너무 많기 때문에" iOS18로 업그레이드할 때 주의해야 한다고 말했습니다. 블로거는 귀하의 iPhone이

CheatEngine은 게임의 메모리를 편집하고 수정할 수 있는 게임 편집기입니다. 그러나 기본 언어는 중국어가 아니므로 많은 친구들에게 불편을 줍니다. 그렇다면 CheatEngine에서 중국어를 설정하는 방법은 무엇입니까? 오늘은 에디터가 CheatEngine에서 중국어를 설정하는 방법에 대해 자세히 소개하겠습니다. 도움이 되셨으면 좋겠습니다. 설정 방법 1: 1. 두 번 클릭하여 소프트웨어를 열고 왼쪽 상단에 있는 "편집"을 클릭합니다. 2. 그런 다음 아래 옵션 목록에서 "설정"을 클릭하세요. 3. 열리는 창의 왼쪽 열에서 "언어"를 클릭하세요.

다운로드 버튼을 표시하도록 Microsoft Edge가 어디에 설정되어 있는지 알고 계시나요? 아래에서 편집기를 통해 다운로드 버튼을 표시하도록 설정하는 방법을 알려드리겠습니다. 1단계: 먼저 Microsoft Edge Browser를 열고 아래 그림과 같이 오른쪽 상단에 있는 [...] 로고를 클릭합니다. 2단계: 그런 다음 아래 그림과 같이 팝업 메뉴에서 [설정]을 클릭합니다. 3단계: 그런 다음 아래 그림과 같이 인터페이스 왼쪽에 있는 [모양]을 클릭합니다. 4단계: 마지막으로 [다운로드 버튼 표시] 오른쪽에 있는 버튼을 클릭하면 아래 그림과 같이 회색에서 파란색으로 변경됩니다. 위는 편집기가 Microsoft Edge에서 다운로드 버튼을 설정하는 방법을 제공하는 곳입니다.

시스템 버그는 시스템 버그를 말하는데, 버그의 본래 의미는 "버그"이며, 이제는 시스템 보안 정책에 결함이 있어 위험이 있다는 뜻으로 사용됩니다. 넓은 의미에서 공격자가 허가 없이 접근할 수 있는 버그는 인터넷에서 다양한 분야에서 발생하는 허점이나 결함을 설명하는 데 사용될 수 있습니다.

win11을 업데이트하고 싶은데 win11에 버그가 많은지, 업데이트로 인해 문제가 발생할지는 잘 모르시는 분들도 계십니다. 사실 현재 win11에도 버그가 있지만 사용에 미치는 영향은 거의 없습니다. win11에 버그가 많나요? 답변: win11에는 여전히 버그가 많습니다. 그러나 이러한 버그는 일상적인 사용에 거의 영향을 미치지 않습니다. 사용자가 일상적인 사용에 대한 요구 사항이 높은 경우 나중에 사용하는 것이 좋습니다. win11 버그 요약 1. 리소스 관리자 1. 가끔 메모리 오버플로가 발생하여 리소스 관리자의 메모리 사용량이 많아지는 경우가 있습니다. 2. 이 상황에서는 메모리 사용량이 70%를 초과하여 컴퓨터가 정지되거나 심지어 충돌이 발생할 수 있습니다. 2. 충돌 및 충돌 1. 일부 애플리케이션은 호환이 충분하지 않아 서로 충돌이 발생합니다. 2. 분쟁절차가 상대적으로 적음에도 불구하고,
