PHPで最低限注意すべきな危険な臭いのする箇所

KEY

よく、○○攻撃とか○○脆弱性とかといった、セキュリティ的にまずい部分について攻撃の手法などでまとめることがありますが、今回はコードベースで危険を感じ取れるようなまとめ方にしたいと思います。

PHPで、とあるのは例にあげるコードがPHPだからなのですが、おそらく大体の部分は他の言語でも通用するかと思います。また、ここで挙げるものが注意すべき事項全てではないことをご承知ください。。

フレームワークを使えばかなり防げてしまうような単純な例ばかりですが、参考になればと思います。
(さらに…)

続きを読む

Webアプリ開発に使える(?)プチスクリプト

screen.jpg

今回は、そこそこ役に立つかもしれない小ネタをいろいろと。HibernateなどのO/Rマップライブラリを使っている人にとっては全く無用かもしれません。

ちょっと、前提として Perl が使える環境が必要となりますので、そのつもりで・・。

Windowsの場合は、

などで利用できます(cygwinはperlではないですが・・・、Vistaの人はActivePerl入れられないらしいので)。

データベースを使った開発をする際に結構困るのがテーブル定義のSQL文やデータオブジェクトのクラスの整合性維持とか管理だったりします。まずは、それらをある程度自動化する方法。
(さらに…)

続きを読む

トランザクションとファイル処理の連携~解説編~

解説編、というか。前回の記事を後で読み直してみたところ、全く意味がわからんだろうなぁ・・・と自分自身でも思い、追加解説の記事を書くことにしました。

テーブル構成とか

前提となる環境をまず説明します。

ER図

話を簡単にするために関係ある部分だけのテーブル構成としていますが、上のような掲示板やお知らせなどのコンテンツを格納する、「記事」テーブルとそれに関連したファイル情報を格納する「ファイル情報」テーブルがあるとします。
(さらに…)

続きを読む

トランザクションとファイル処理の連携

circuits

最近めちゃくちゃ忙しくて・・・今年初めての更新。今回は、仕事中に実際困った話から。

例えば、ファイルのアップロード処理などである程度まとまったデータベース処理とファイルの処理をうまく連携させたいことがあります。

単純に正常系だけを考えれば別にどうってことはないんですが、例えばトランザクションをロールバックさせた場合にファイル処理も「なかったこと」にしたい時ってどうしましょう・・・。意外と厄介なもんです。

(さらに…)

続きを読む