机房收费系统之结账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最后应该是谁呢?通过以上的论述,相信大家对红色框中的四个字段的由来很信服了,如果大家还有什么不懂地方,可以找我私下讨论。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Au cours de la dernière décennie, les appareils mobiles sont devenus le principal moyen de partager du contenu avec vos amis et votre famille. La facilité d'accès, l'interface facile à utiliser et la possibilité de capturer des images et des vidéos en temps réel en font un excellent choix pour créer et partager du contenu. Cependant, il est facile pour des utilisateurs malveillants d'abuser de ces outils pour transférer du contenu indésirable et sensible qui peut ne pas convenir à la visualisation et ne nécessite pas votre consentement. Pour éviter que cela ne se produise, une nouvelle fonctionnalité « Avertissement de contenu sensible » a été introduite dans iOS17. Jetons un coup d'œil et comment l'utiliser sur votre iPhone. Qu'est-ce que le nouvel avertissement relatif au contenu sensible et comment fonctionne-t-il ? Comme mentionné ci-dessus, l'avertissement de contenu sensible est une nouvelle fonctionnalité de confidentialité et de sécurité conçue pour empêcher les utilisateurs de consulter du contenu sensible, y compris l'iPhone.

Comment changer la page qui ouvre le navigateur Microsoft Edge en navigation 360 ? C'est en fait très simple, je vais donc maintenant partager avec vous la méthode pour changer la page qui ouvre le navigateur Microsoft Edge en navigation 360. Les amis dans le besoin peuvent prendre une décision. regarde. J'espère pouvoir aider tout le monde. Ouvrez le navigateur Microsoft Edge. Nous voyons une page comme celle ci-dessous. Cliquez sur l'icône à trois points dans le coin supérieur droit. Cliquez sur "Paramètres". Cliquez sur "Au démarrage" dans la colonne de gauche de la page des paramètres. Cliquez sur les trois points affichés dans l'image dans la colonne de droite (ne cliquez pas sur "Ouvrir un nouvel onglet"), puis cliquez sur Modifier et remplacez l'URL par "0" (ou d'autres nombres dénués de sens). Cliquez ensuite sur "Enregistrer". Ensuite, sélectionnez "

Que signifient les bugs du jeu ? Au cours du processus de jeu, nous rencontrons souvent des erreurs ou des problèmes inattendus, tels que des personnages bloqués, des tâches incapables de continuer, un scintillement de l'écran, etc. Ces phénomènes anormaux sont appelés bugs du jeu, c'est-à-dire des défauts ou des erreurs dans le jeu. Dans cet article, nous explorerons la signification des bugs de jeu et leur impact sur les joueurs et les développeurs. Les bugs du jeu font référence à des erreurs qui se produisent lors du développement ou du fonctionnement du jeu, entraînant un dysfonctionnement du jeu ou un comportement inattendu. Ces erreurs peuvent être dues à

Alors que la conférence WWDC 2024 d'Apple s'est terminée avec succès, non seulement macos15 a été annoncé, mais la mise à jour du nouveau système iOS18 d'Apple a attiré le plus d'attention. est nécessaire pour mettre à niveau Apple iOS18, quels types de bugs y a-t-il dans la dernière version d'Apple iOS18 ? Après évaluation d'une utilisation réelle, voici un résumé des bugs d'Apple iOS 18, jetons un coup d'œil. Actuellement, de nombreux utilisateurs d’iPhone se précipitent pour passer à iOS18. Cependant, divers bugs du système mettent les gens mal à l’aise. Certains blogueurs ont déclaré qu'il fallait être prudent lors de la mise à niveau vers iOS18 car "il y a tellement de bugs". Le blogueur a dit que si votre iPhone est

CheatEngine est un éditeur de jeu qui peut éditer et modifier la mémoire du jeu. Cependant, sa langue par défaut n'est pas le chinois, ce qui est gênant pour de nombreux amis. Alors, comment définir le chinois dans CheatEngine ? Aujourd'hui, l'éditeur vous donnera une introduction détaillée sur la façon de configurer le chinois dans CheatEngine. J'espère que cela pourra vous aider. Première méthode de paramétrage : 1. Double-cliquez pour ouvrir le logiciel et cliquez sur « modifier » dans le coin supérieur gauche. 2. Cliquez ensuite sur « paramètres » dans la liste d'options ci-dessous. 3. Dans l'interface de la fenêtre ouverte, cliquez sur « langues » dans la colonne de gauche

Savez-vous où définir le bouton de téléchargement pour qu'il s'affiche dans Microsoft Edge ? Ci-dessous, l'éditeur vous présentera la méthode pour définir le bouton de téléchargement à afficher dans Microsoft Edge. J'espère que cela vous sera utile. Suivons l'éditeur pour apprendre. à ce sujet ! Étape 1 : Ouvrez d'abord le navigateur Microsoft Edge, cliquez sur le logo [...] dans le coin supérieur droit, comme indiqué dans la figure ci-dessous. Étape 2 : Cliquez ensuite sur [Paramètres] dans le menu contextuel, comme indiqué dans la figure ci-dessous. Étape 3 : Cliquez ensuite sur [Apparence] sur le côté gauche de l'interface, comme indiqué dans la figure ci-dessous. Étape 4 : Enfin, cliquez sur le bouton à droite de [Afficher le bouton de téléchargement] et il passera du gris au bleu, comme le montre la figure ci-dessous. C'est ci-dessus que l'éditeur vous explique comment configurer le bouton de téléchargement dans Microsoft Edge.

Le bagage système fait référence à un bug du système ; la signification originale du terme bug est "bug", et maintenant il peut être utilisé pour désigner des vulnérabilités existant sur l'ordinateur. La raison en est qu'il existe des failles dans la politique de sécurité du système et qu'il existe un danger. auxquels les attaquants peuvent accéder sans autorisation ; au sens large Sur Internet, les bugs peuvent être utilisés pour décrire des failles ou des défauts qui surviennent dans divers domaines.

Certaines personnes souhaitent mettre à jour Win11, mais elles ne savent pas s'il y a beaucoup de bugs dans Win11 et si la mise à jour posera des problèmes. En fait, il y a actuellement des bugs dans Win11, mais ils ont peu d'impact sur l'utilisation. Y a-t-il beaucoup de bugs dans Win11 ? Réponse : Il y a encore de nombreux bugs dans Win11. Ces bugs ont cependant peu d’impact sur l’utilisation quotidienne. Si l'utilisateur a des exigences élevées pour une utilisation quotidienne, il est recommandé de l'utiliser plus tard. Résumé des bogues de Win11 1. Gestionnaire de ressources 1. Parfois, un dépassement de mémoire se produit, entraînant une utilisation élevée de la mémoire du gestionnaire de ressources. 2. Cette situation entraînera une occupation de la mémoire de plus de 70 %, provoquant le blocage ou même le crash de l'ordinateur. 2. Conflit et crash 1. Certaines applications ne sont pas suffisamment compatibles, provoquant des conflits entre elles. 2. Bien qu'il existe relativement peu de procédures de conflit,
