web-dev-qa-db-ja.com

入力タイプ=電子メールチェックが有効な場合のSQLの脆弱性

<input type="email"
class="form-control"
name="email address"
id="signinEmail"
placeholder="Email address"
aria-label="Email address"
value="INPUT"
required=""
data-msg="Please enter a valid email address."
data-error-class="u-has-error"
data-success-class="u-has-success"
aria-invalid="true"
aria-describedby="signinSrEmail-error">

上記の引用入力フィールドに関して(読みやすくするために新しい行の各パラメータ)

特にそのような入力フィールドは、valid_characters @ valid.valid SQLインジェクションをチェックしますが、何らかの方法で脆弱性がありますか?この種類の入力フィールドを実装することで悪用される危険性はありますか(他のユーザーが使用していることがわかったため、このコードを作成するためのクレジットはありません)。

HARMFUL CODE "@ test.comで悪用しようとすると、機能しません。有害なコード自体も機能しなくなります。」.

//注意:

<form class="js-validate mt-5" name="signin" action="/signin" method="post">

上記の入力フィールドは、フォームメソッドのメンバーであり、ポストメソッドを介してSignInを検証します。したがって、このようなコードをWebサイトに実装することはかなり安全だと思いませんか?

1
J. Doe

SQLインジェクションはサーバー側の脆弱性です。クライアント側のコードとはほとんど関係ありません。すべての検証をフロントエンドで行う場合、悪意のあるユーザーがフロントエンドをまったく使用せず、サーバーに直接リクエストを送信するとどうなりますか?

したがって、これはSQLインジェクションに対してまったく保護されません。 SQLインジェクションから適切に保護するには、サーバー側の保護を実装します。 SQLを完全に抽象化する最新のWebフレームワークやORMを使用するか、 OWASP Cheatsheet を使用できます。

3
multithr3at3d