目次
データベースアプリケーションは、外部の攻撃者から狙われている。
SQLインジェクションへの対策が必要。
基本的に、MySQLに渡すSQL文と、その中で与える引数(データ)をと分離する方式。
こうすることで、データに対して自動的にエスケープ処理や引用符処理が施されるので、SQLインジェクションは原則的に発生しない。
もう一つの利用法として、同じSQL文を何度も使う場合、最初に1回だけ準備して、データを変えつつ繰り返すことで利用効率を高めるという利点もある。
HTMLとJavascriptとCSSとの役割をうまく説明しているページが以下にある。
これを読むとわかるが、CSSを使うには画面の見た目を制御するためである。
HTML5のアプリケーションはブラウザの画面を1画面として、HTTPによる画面遷移を行わず、Ajaxだけで画面を更新する形で作られることが多い。
そのためにも、画面構成はCSSで指定しておくことが求められる。
セレクタとは、画面を構成している要素を限定するものである。
jQueryでもセレクタを使用するが、これはもともとCSSのセレクタがベースになっている。
例えば、
p { color:red; }
と書くと、文書中のすべての<p>...</p>で囲まれた文字が赤色になる。
p#aaa { color:red; }
と書くと、<p id="aaa">...</p>で囲まれた文字は赤くなるが、その他の<p>...</p>の文字は変化しない。
p.aaa { color:red; }
と書くと、<p class="aaa">...</p>で囲まれた文字は赤くなるが、その他の<p>...</p>の文字は変化しない。
これらの例の中で、最初に書かれている文字はセレクタ、中カッコ { } の間の文字は属性と呼ばれる。
属性は、
属性名:属性値;
の形で表され、複数の属性をつなげて指定することができる。例えば、
p {
color:red;
background-color:blue;
margin:10px;
padding:5px;
}
のように書くことができる。改行は任意だが、見やすいようにした方が良い。
jQueryのセレクタで得られる要素は「jQuery要素」と呼ばれる。この要素に対して、jQueryの強力な機能が使用できる。
一方、jQuery関数で取り出される要素は、一般にはDOM要素である。DOM要素とはHTMLの文書を構成している要素のことである。
これら2つの要素は、それぞれ以下のようにして相互に変換できる。
$(DOM要素) -> jQueury要素 jQuery要素[0] -> DOM要素
jQueryが持つ機能は強力なものが多いが、その分、無駄なことをしている場合もある。 その点、DOMの機能は(それでも十分に強力なのだが)シンプルな場合が多い。
使用する状況や目的に応じて使い分けるのが良いと思う。