いる人の記事を見てPHPのSQLインジェクションの対策を取り組むために、「Validate」まで使われたようでした。 本当に「Validate」って何のために存在するもんか全然理解されていなかったな。 今日のプログラムにSQLインジェクションの対策法を取り組んだので、メモしておこう。 本家の記事: http://php.liukang.com/manual/ja/security.database.sql-injection.php MySQLならこんな関数があるが↓ http://php.liukang.com/manual/ja/function.mysql-real-escape-string.php 僕はMySQLが(主観的に)嫌がる人間で、これがいいかも↓ http://pear.php.net/manual/ja/package.database.db.db-common.escapesimple.php なお、PHP5.Xの場合(4.X上の確認を行っていない)は、コードに $sql = "SELECT SEQUENTIAL_ID, LOAD_FLG, FILE_NAME, FORMAT_ID, MENU, LETTER, MESSAGE, ". " VALUE1, VALUE2, VALUE3, VALUE4, VALUE5 FROM TARIM_MENU_LIST_TBL ". "WHERE SEQUENTIAL_ID LIKE '%".$sequential."'"; を書いて、ログを出したらこのような文字列になりました SELECT SEQUENTIAL_ID, LOAD_FLG, FILE_NAME, FORMAT_ID, MENU, LETTER, MESSAGE, VALUE1, VALUE2, VALUE3, VALUE4, VALUE5 FROM TARIM_MENU_LIST_TBL WHERE SEQUENTIAL_ID LIKE '%200610_02\' OR \'1=1' DB_common::escapeSimple()を適用したらこんな文字列になりました SELECT SEQUE...