SQLインジェクションとは何ですか?どうすればそれを防ぐことができますか?
SQLインジェクションは、Webハッキング手法です。これは、悪意のあるコードをデータベースに挿入し、データベースを破壊するコードインジェクション技術です。これは、Webページ入力を介した悪意のあるコードの挿入です。
SQLインジェクションの主な原因は、データベース内のデータを操作するSQLクエリにデータをスマートに提供することです。
学生のデータを含むテーブルがあるとします。各学生は、自分の学生IDを使用して自分のデータを表示できます。 SQLクエリは、学生からの学生ID入力を受け取るように設計されています。
これで、学生は自分の学生IDを「12345または1=1」と入力できます。これは、followinqクエリに変換されます。
SELECT * FROM Students WHERE id==12345 or 1=1
これで、1 =1が常に真であるため、上記のクエリは他の学生のレコードも返します。したがって、他の学生のデータは安全ではなく、ハッカーによる誤用の傾向があります。
Mysqlコネクタモジュールには、SQLインジェクションを防ぐためにクエリ値をエスケープするメソッドがあります。クエリ値は、プレースホルダー%sを使用してエスケープできます。
「MyTable」という名前のテーブルがあるとします。
+----------+---------+-----------+------------+ | Name | Class | City | Marks | +----------+---------+-----------+------------+ | Karan | 4 | Amritsar | 95 | | Sahil | 6 | Amritsar | 93 | | Kriti | 3 | Batala | 88 | | Khushi | 9 | Delhi | 90 | | Kirat | 5 | Delhi | 85 | +----------+---------+-----------+------------+
例
import mysql.connector db=mysql.connector.connect(host="your host", user="your username", password="your password",database="database_name") cursor=db.cursor() query="SELECT * FROM Students WHERE Name=%s" name=("Karan",) cursor.execute(query,name) for row in myresult: print(row)
上記のコードは、プレースホルダーを使用してクエリ値をエスケープする方法を示しています。
出力
(‘Karan’, 4, ‘Amritsar’ , 95)
-
Google Discover フィードの概要とその管理方法
多くの Google 機能は、Android スマートフォンを持っているすべての人、および iPhone で Google のアプリやサービスを使用しているすべての人によって毎日使用されています。ただし、これらの機能の一部は多くの人に知られていません。そのような機能の 1 つは Google Discover フィードで、誰もが無意識のうちに使用しています。これについて少しでも知っていれば、Google のニーズではなく、私たちのニーズに合わせてカスタマイズできるかもしれません。 では、秘密の機能 – Google Discover フィードとは何ですか? Google Discover
-
Windows での推奨アクションとは何ですか? また、どのように使用できますか?
Windows で検索候補を入力するとすぐに、Google やその他の一般的な検索エンジンが自動候補を表示する方法を覚えていますか? Microsoft は、Windows 11 ユーザー向けに同様の機能を導入しました。 この機能は推奨される操作であり、Windows での操作を簡素化するための Microsoft の最新の試みです。この記事では、Windows で推奨されるアクションを使用して最大限に活用する方法について説明します。 Windows 11 で推奨アクションを使用する方法 推奨アクション機能を有効にすると、電話やイベントを自動的にスケジュールできます。電話番号をコピーするか