タグ

PHPと*phpに関するdio28のブックマーク (3)

  • XSS、SQLインジェクションを発見する·Pixy MOONGIFT

    PHPはWebシステムの中で広く使われているポピュラーなスクリプト言語だ。だが、手軽に習得し、開発が行えるとあって成果物のレベルが様々であり、中にはセキュリティ上問題のあるコードが多数存在することがある。そうしたセキュリティ上の問題を解決する手法やフレームワークもあるが、ごく簡単なシステムでは使われることがないだろう。 SQLのコードを精査し、問題の発見につなげる そのようなものを放置しておくと、いつ何時問題がわき上がるか分からない。そうした不安を取り除くためにもPixyを使ってみよう。 今回紹介するオープンソース・ソフトウェアはPixy、XSS、SQLインジェクションを発見するスキャナソフトウェアだ。 最初に断っておくと実際試してみたところでは100%の解決にはつながらなさそうなのでご注意いただきたい。PixyはJavaで作られたソフトウェアで、PHPファイルを指定して実行するとソースフ

    XSS、SQLインジェクションを発見する·Pixy MOONGIFT
  • PHPスクリプトの遅い部分を簡単に見つける方法

    extension=xdebug.so xdebug.profiler_enable = 1 xdebug.profiler_output_dir = /tmp と設定して、apacheのリロードを行えばXdebugが動作します。 これで、あとは、ブラウザで調査したいページにアクセスすれば、 /tmp/ 以下にプロファイルデータが作成されていきます。 次にプロファイルデータの閲覧の為に、 http://sourceforge.net/projects/wincachegrind/からWinCacheGrindをダウンロードしてwindowsマシンにインストールします。 あとは、WinCacheGrindで作成されたファイルを取り込めば、関数ごとの 実行時間をたどりながら確認することができます。 ※WordPress2.7.1日語版インストール直後のTOPページで試してみた場合です。 We

    PHPスクリプトの遅い部分を簡単に見つける方法
  • 第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp

    前回はスクリプトインジェクションがなくならない理由を紹介しました。それをふまえて今回はスクリプトインジェクションを防ぐ10のTipsを紹介します。 デフォルト文字エンコーディングを指定 php.iniには、PHPが生成した出力の文字エンコーディングをHTTPヘッダで指定するdefault_charsetオプションがあります。文字エンコーディングは必ずHTTPヘッダレベルで指定しなければなりません。しかし、デフォルト設定ではdefault_charsetが空の状態で、アプリケーションで設定しなければ、HTTPヘッダでは文字エンコーディングが指定されない状態になります。 HTTPヘッダで文字エンコーディングを指定しない場合、スクリプトインジェクションに脆弱になる場合あるので、default_charsetには“⁠UTF-8⁠”を指定することをお勧めします。サイトによってはSJIS、EUC-JP

    第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp
  • 1