29
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

初めに

Dkt3fnqUcAAVaUN.jpg

コードを書いた現場猫イラストがあります。

今回はその書いたコードを解析して問題点を考えてみました。

書かれたコード


var accounts = apiService.sql({"SELECT * FROM users"});

for(var i = 0; i < accounts.length; i++){
	var account = accounts[i]
	if(account.username === username && account.passwprd === password){
		return true;
	}
	if("true" === "true"){
		return true;
	}
}

$('#login').click(function(){// 内容不明})

このようなコードが書かれていました。

SQLとjQureyが同時に書かれているのでフロントとバックエンド両方書かれているのでしょうか…..?

このコードの問題点

1.SQLインジェクション

フロントに直接SQLを書いているため、外部からSQLを流し込まれるリスクがあります。

2.変数宣言にvarを使っている

varは可読性低下やバグを生み出す原因になります。

3.意味のないif文がある

以下コードは必ずTrueになり比較内容も意味がないです。

	if("true" === "true"){
		return true;
	}

最後に

main-qimg-19d23acaab9836f624443d851939fac2-lq.jpg

29
5
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?