わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

Robert'); DROP TABLE Students; --


出典はhttp://xkcd.com/327/です.左から右に見ていく,四コママンガです.本の虫: 苗字がNullの社員がうちのとこの社員管理用のシステムをぶっこわしたんだがどうすればいい?に,この画像と,和訳が入っています.
サーバサイドセキュリティを解説した授業で,終わりの小テストに提示しました.
ただし,そこで何が面白いのかを問うのだと,答え方は人それぞれ(さっぱり面白くない,という答えが出るかも)なのが予想できたので,「何のおかげでどこで何が起こったのかを説明しなさい」と尋ねました.
用意していた答えは,「息子の名前が『Robert’); DROP TABLE Students; --』だった(のに加えて,データベースへの問い合わせでサニタイジングをしていなかった)ために,DROP TABLE Studentsの実行により,学校のデータベースのStudentsテーブルが削除されてしまった」ですが,ある学生の答案に「子どもの名前のせいで,学校のデータベースが壊れた」とあり,シンプルで分かりやすかったので,解答・解説のスライドに取り入れました.
セキュリティの観点では,最後のコマの"SANITIZE"が大事なのですが,英文を読むとなると,3コマ目下段の"LITTLE BOBBY TABLES, WE CALL HIM."も見過ごせません.
構文としてはSVOCで,Cに当たる部分が前に来ています.そこを意識して訳すと,「リトルボビーテーブルズ,って(うちでは)呼んでますけど」でしょうか.
「こう呼んでいる」に着目すると,3コマ目上段で,電話の先から「あなたの息子さんの名前は本当にRobert'); DROP TABLE Students; --なのですか?」と聞かれていることと,うまく対応してきます.
というのも,BobbyはRobertの短縮形あるいは愛称となるからです.wikipedia:英語人名の短縮形wikipedia:en:Hypocorismに,対応例が詳しく書かれています.
自分自身,そういった短縮形について知ったのは,大学2年のときの語学です.たしか,RichardがDickになるという話でした.
語学のテキストや,マンガのRobert-Bobbyの関係も,慣れない人にとっては唐突に思えたので,出題した次回の解説では,こういった短縮形や愛称は英語ではよくあることで,ビルゲイツの本名はWilliam Henry Gatesだけれど,このWilliamの短縮形がBillなのですよと添えました.