コンテンツへスキップ →

タグ: MySQL

予期せぬ攻撃を受ける前に!今すぐやっておきたいSQLインジェクション対策まとめ!

プログラムは目的の動作を実現するツールですが、そのツールが外部から攻撃・悪用されないように、セキュリティ対策を講じておかなければなりません。今回は、古くから存在するSQLインジェクションについての対策をまとめました。

MySQL内に保存された画像を、実ファイルに変換するスクリプト

実は僕が10年前くらいに作ったWebシステムのいくつかは、データベースにBLOB形式でバイナリファイルを格納していました。データベース内に直接画像を保存することで、検索と連動して処理しやすいようにしたつもりでした。

しかし、実際に運用がはじまるとそんなことはありませんでした。むしろ、データが増えてくるほどに危険性が増してきます。データベースのバックアップデータも肥大化し、SQLでバックアップをとっても、ファイルが数GBともなると、直接ファイルを開いて確認することはできませんし、復元する時にとんでもない労力が発生する可能性があります。

ということから、これまでデータベースに保存していた画像を取り出して、通常の画像ファイルに変更して保存しなおすスクリプトを作りました。それぞれの環境によって適宜変更が必要かと思いますし、流用の際は自己責任でお願いします。

MAMPでインポート時に「MySQL server has gone away」が出る場合の対処方法

例えばWebサーバーで運用しているデータベースのバックアップデータを、ローカル環境に反映させたい場合、phpMyAdminのインポート機能を使うと便利です。私の場合、MAMPで構築していますが、MAMPはMacにPHP/MySQLをかんたんにインストールして環境を構築できるので重宝しています。

しかし、いざインポートをしようとしたら、「MySQL server has gone away」というエラーが。タイムアウトでも出ますが、今回はインポートしようとしているクエリの数が多すぎたのが原因のようです。

PHPMyAdminよりも便利なSequel Proの使い方!MacでMySQLの管理が出来る!

みなさんはデータベースの管理・運用はどのようにしていますか?私はWebシステムを作るとき、PHP+MySQLの組み合わせで作っていて、DBの管理にはPHPMyAdminを使っていました。

システムを作るとき、データベースにデータがちゃんと入っているか調べたり、不要なデータを消したり、新しくテーブルを作ったりするとき、コマンドでもできますが、見辛くてしょうがありません。

ということで、GUIベースのソフトがほしくなりますよね。それで、MySQLの管理はこれまでブラウザでデータベースの管理が出来るPHPMyAdminを使ってきました。しかし、最近になってMacアプリで、もっと使いやすいソフトを知ったのです。