Ruby + MySQL セキリュティ

input入力から<script></script>などの入力を受け付けないようにし、
htmlタグが文字列に変換される。

ERB::Util.html_escape(...)

また、ユーザーから入力されたデータを直接SQL文に含めるのは危険。
例として、

book_title = params['book_title']
statement = client.prepare('INSERT INTO books (book_title) VALUES(?)')
statement.execute(book_title)

一手間加えると良い。
いきなり、

book_title = INSERT INTO books (book_title) VALUES(params['book_title'])

などとすると危ないという事。


この記事が気に入ったらサポートをしてみませんか?