ASP は単なるテクノロジおよび実行環境です。すべてのバックエンド管理システムが ASP であるわけではありません。現在、ASP の方が一般的なテクノロジであるというだけです。
あなたが言及した「or」=「or」の抜け穴は、プログラム作成時の論理的な抜け穴であり、ASP 自体の抜け穴ではありません。その原理は次のとおりです。ユーザーが入力するとき。名前とパスワード、慎重に作成したユーザー名 a または username<>'a を送信し、パスワードは a または pwd<>'a、プログラムの判断ステートメントは次のとおりです: select * from user_table where username=username and pwd=password ただし、上記のユーザー名とパスワードを取得すると、次のようになります。 select * from user_table where username=a or username<>a and pwd=a or pwd<>a は上記の SQL ステートメントになります。この場合、プログラムはユーザー名とパスワードが正しいと判断し、そのユーザー名を正しいセッションに割り当てます。実際、相手がデータベースのユーザー名とパスワードのフィールドを知らない場合、解決策は replace() 関数を使用して ' を除外し、ユーザー名とパスワードの入力ボックスに入力する文字数を制限することです。 、うまくクラックできません。