PEAK XOOPS - Re: SQL用文字列エスケープにどの関数を使うべきか in englishin japanese

Re: SQL用文字列エスケープにどの関数を使うべきか

Target News
Subject Which function should be adopted in escaping string?
Summary This is a summary of discussion with ELF about escaping string for SQL.I recommmend addslashes()(A) performance(B) compatibility with environments of magic_quotes_gpc=on(C) reverse function exists(D) DB connection freeELF recommend *_escape_string()(1)...

List posts in the topic

normal Re: SQL用文字列エスケープにどの関数を使うべきか

msg# 1
depth:
0
Previous post - Next post | Parent - Children.1 | Posted on 2006/5/25 7:56
nobunobu  Lance Corporal   Posts: 25
Quote:
`(バッククオート)も'(シングルクオーテーション)と同様にエスケープされる、なんて勘違いがベースにあったように思えます。
そもそも、addslashesの用途がINJECTION対策なんて意識が薄かった(無かった?)のだと思いますよ。
単純にSQL文中のリテラルの中に、クォーテーション文字が使われる可能性があるから、SQLエラーおこさないためには、エスケープの必然があって、
昔のMySQLの識別子で許されている文字が「英数字」と‘_’ と ‘$’ に限定されていたのでエスケープの必然が無いって意識がベースにあったのだと思います。
SQL文に対するリテラルのエスケープに関しては、セキュリティとかINJECTIONなんて概念が一般的になる前でも、プログラマに対して「正しくプログラムを動作させる為に必要」って教育がされますから。

余談ですが、PHPに関しては、簡易WEB作成ツールって位置付けで発祥した為かmagic_quote_gpcなんてのが最初から用意されていたがために、余計に混乱をもたらしているような気がします。これがために、少し前にはmagic_quote_gpc環境で無い場合にすべてのGPCにaddslashesなんて処理が行われていた物もあったりします。
Votes:13 Average:3.85

Posts tree

  Advanced search


Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!