PHPカンファレンス2010テックデイでの講演資料 PDFダウンロードは http://www.hash-c.co.jp/archive/phpconf2010.htmlRead less
こんにちは nakamura です。最近トルシエさんテレビ出すぎじゃありません?ウィイレヤロウヨ。オフサイドダヨ! さてさて今回は意外と知られてないけど、サイトをインターネットに公開する際には知っておいた方が良い Apache の設定をいくつかご紹介します(一部 PHP の設定もありますが)。この設定をしていないからといって即危険にさらされるという訳でもありませんが、リスクの芽は摘んでおくに越した事はありませんよね。 無駄な HTTP ヘッダを返さない ディストリビューションにより異なるかもしれませんが、CentOS デフォルトの設定の場合 Apache が返してくる HTTP ヘッダは以下のようなものです。 HTTP/1.1 200 OK Date: Mon, 05 Jul 2010 01:01:14 GMT Server: Apache/2.2.3 (CentOS) X-Powered
高木浩光さんの「サニタイズ言うなキャンペーン」 という言葉自体はずいぶん前から存在したのだが、 続・「サニタイズ言うなキャンペーン」とはにて高木さん自身がいくつも誤解の例を挙げているように、 そしてまた最近も 駄目な技術文書の見分け方 その1にて「まだわからんのかね」と言われているように、 「わかりにくい」概念なんだろうとは思う。 そこで、僭越ながら、「サニタイズ言うなキャンペーン」について、 私なりの解釈を書いてみようと思う。 もっともこれが正解であるという保証はないのだが、 間違っていたらどなたかツッコミいただけることを期待しています(_o_) そもそも何のせいで「エスケープ」しなければならないのか たとえば住所氏名を登録させるWebアプリケーションは珍しいものではないと思う。 そこで、私が「Taro&Jiro's castle サウスポール」 とかいう恥ずかしい名前のマンション(?)
タイトルは出来れば関連する方に読んで欲しかったので、軽く釣り針にしました。すみません。:*) 最近はやりのヒウィッヒヒー(Twitter)でも、よく「○○ったー」みたいなサービスがばんばん登場してますね! おかげでますますツイッターが面白い感じになってて、いい流れですね! でも・・・ちょっと気になることが・・・ 最近「もうプログラマには頼らない!簡単プログラミング!」だとか・・・ 「PHPで誰でも簡単Webサービス作成!」だとか・・・ はてなブックマークのホッテントリで見かけますよね・・・ プログラミングする人が増えるのは素敵です!レッツ・プログラミングなう! なんですけど・・・ ちゃんとセキュリティのこと考えてますか・・・!? 『セキュリティ対策とか難しいし面倒くせーし、俺の適当に作ったサービスとかどうなってもイイしww』 いいんですいいんです! 別にそう思ってるならどうでもいいんです!
<< 2008/01/ 1 1. 年賀状 2. ゴビウス 3. [Ruby] ZSFA -- Rails Is A Ghetto 2 1. 新年会 3 4 1. The Mythical 5% 5 6 7 8 1. [言語] Substroke Design Dump 2. [言語] A programming language cannot be better without being unintuitive 3. [OSS] McAfee throws some FUD at the GPL - The INQUIRER 9 1. [言語] Well, I'm Back: String Theory 2. [言語] StringRepresentations - The Larceny Project - Trac 10 1. [Ruby] マルチVMでRubyを並列化、サンと東大が
http://www.rubyist.net/~matz/20080126.html#p04 趣味でやってるプログラミング初心者の立場で言わせてもらう。だいたいな、あんたらプロのプログラマが小難しい顔してセキュリティセキュリティ言うもんだから初心者プログラマのセキュリティ意識がまったく向上しないばかりか、よけいに低下するんだよ。ごちゃごちゃ言われたり叩かれるのはイヤだけど、眼前の問題はプログラムで解決したいってヤツは耳塞いで黙ってPHPでやりたいようにやるんだよ。何が「楽しいRuby」だよ。「Webアプリケーションをなめるな」ってその時点でもう全然楽しくねーだろが。 それでこれだよ。 http://d.hatena.ne.jp/essa/20080130/p1 もう萎縮萎縮!初心者超萎縮ですよ。「あーセンコーうぜー。隠れてタバコ吸おう」って高校生の心境だよ。難しい顔して訳知り顔でかっこつけ
PHPでセッションを破棄する方法について、きちんと解説されたものが見つからなかったので書いておく。 まず、PHPでセッションを破棄する方法自体はPHPのマニュアルの載っている。↓の部分だ。 <?php // セッション変数を全て解除する $_SESSION = array(); // セッションを切断するにはセッションクッキーも削除する。 // Note: セッション情報だけでなくセッションを破壊する。 if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // 最終的に、セッションを破壊する session_destroy(); ?> 問題は、このコードについてまともな説明がされていないことだ。よくわからないままに使っている人も多いように思える。例えば「PHP
なぜPHPアプリにセキュリティホールが多いのか?:第25回 PHPのアキレス腱にて、大垣靖男氏がPHPのSession Adoption問題について取り上げている。大垣氏は度々この問題を取り上げているが、今のところ氏の主張に同調する人を見かけない。それもそのはずで、大垣氏の主張は間違っていると私は思う。 以下、大垣氏の主張を実際に試してみる形で、順に説明しよう。 大垣氏の主張 大垣氏の主張は、PHPにはSession Adoption脆弱性があるために、標準的なSession Fixation対策であるsession_regenerate_id()を施しても、その対策は有効ではないというものだ。 しかし,実際には現在に至るまでPHPのセッションモジュールのセッションアダプション脆弱性は修正されないままになっています。このために,本来はsession_regenerate_id関数をログイン
■CSRF - クロスサイトリクエストフォージェリ CSRF - クロスサイトリクエストフォージェリ SpecIII - CSRF - クロスサイトリクエストフォージェリから引用させて頂きます。 CSRFの概略 CSRFはCross Site Request Forgeriesの略です。恥ずかしながら私は最近こういったこういった攻撃方法があることを知りました。日頃のアンテナの低さがバレますね。 CSRFはサイトに対する正規のユーザーの権限を利用した攻撃です。あるサイトのある処理を行うページに正規のユーザーを誘導し、強制的に望まない処理を発生させます。 具体的には記事の編集や削除といった機能を持つページのURLをダミーのリンクに埋め込んで踏ませたり、imgタグのsrcとして指定して知らず知らずのうちにアクセスさせます。特に後者の例ではユーザーが全く気がつかぬうちに攻撃が完了します。攻撃の結果
前回はスクリプトインジェクションがなくならない理由を紹介しました。それをふまえて今回はスクリプトインジェクションを防ぐ10のTipsを紹介します。 デフォルト文字エンコーディングを指定 php.iniには、PHPが生成した出力の文字エンコーディングをHTTPヘッダで指定するdefault_charsetオプションがあります。文字エンコーディングは必ずHTTPヘッダレベルで指定しなければなりません。しかし、デフォルト設定ではdefault_charsetが空の状態で、アプリケーションで設定しなければ、HTTPヘッダでは文字エンコーディングが指定されない状態になります。 HTTPヘッダで文字エンコーディングを指定しない場合、スクリプトインジェクションに脆弱になる場合あるので、default_charsetには“UTF-8”を指定することをお勧めします。サイトによってはSJIS、EUC-JP
Keitaです。 ディレクトリトラバーサルという言葉があります。 今では、常識になっており、開発するときには無意識に対策する(されている)人がほとんどだと思います。 ただ、DBにデータを格納することが当たり前の昨今ファイルの扱いをちゃんとできない人もたまーにお会いするのでので、個人的にPHPでやっていることを書いておきます。 どんなものか 詳しい定義は各自調べてもらうとして一例を一つ。 次のコードをみてください <?php $file = $_GET['file']; $dir = '/pngdir/'; $filepath .= $dir . $file; if (! file_exists($filepath)) { $filepath = $dir . 'nofile.png'; } header("Content-Type: image/png"); header("C
PHPはWebシステムの中で広く使われているポピュラーなスクリプト言語だ。だが、手軽に習得し、開発が行えるとあって成果物のレベルが様々であり、中にはセキュリティ上問題のあるコードが多数存在することがある。そうしたセキュリティ上の問題を解決する手法やフレームワークもあるが、ごく簡単なシステムでは使われることがないだろう。 SQLのコードを精査し、問題の発見につなげる そのようなものを放置しておくと、いつ何時問題がわき上がるか分からない。そうした不安を取り除くためにもPixyを使ってみよう。 今回紹介するオープンソース・ソフトウェアはPixy、XSS、SQLインジェクションを発見するスキャナソフトウェアだ。 最初に断っておくと実際試してみたところでは100%の解決にはつながらなさそうなのでご注意いただきたい。PixyはJavaで作られたソフトウェアで、PHPファイルを指定して実行するとソースフ
PHPは広く数多のWebサーバでインストールされ、使われている。設定ファイルは殆どそのままで使われていることが多いのではないだろうか。だが4.2より前のバージョンではregister_globalsのデフォルトがOnになっていたなど、利便性とセキュアであることとの関係で潜在的な問題はあるかも知れない。 php.iniのセキュリティチェックに 見直すのはPHPの設定ファイルであるphp.iniだが、多数の設定があるのでぱっと見では設定の善し悪しが分かりづらいかも知れない。そこで使うのがPHP Security Consortiumだ。 今回紹介するオープンソース・ソフトウェアはPHP Security Consortium、PHPのセキュリティ設定を見直すソフトウェアだ。 PHP Security ConsortiumはPHPで作られたソフトウェアで、phpinfo()から得られる情報を使っ
_ 残り容量が数十Mバイトになっていた PCがなんかくそ遅いなーと思ってふと空きディスク容量をみたら、残り数十Mバイトまで減っていた。Folder Size for Windowsで各ディレクトリ単位のディスク使用量をながめてみたところ、 Thunderbirdでimapでアクセスしているアカウントのデータフォルダに、なぜか1GバイトオーバーのINBOXファイルがあった。なにこれ? 削除したけど別に動作には支障はなし。 puttyのlogが無限に追記されたよ……。数Gバイト。 昔ダウンロードしたCD/DVD-ROMのisoイメージファイルが、そこかしこに消されず残ってたよ。10Gバイトオーバー。 あと、細かいテンポラリディレクトリの中身とか消したら、30Gバイトくらい空いた。そこまでやって久しぶりにデフラグを起動したら、表示が真っ赤(ほとんど全部断片化されている)だったので、最適化実行中。
The Very First Steps After a Fresh WordPress Installからのヒントも入れつつ、自分が WordPress をインストールしたら最初にしておく設定等をご紹介。 デフォルトの “admin” アカウントの削除 デフォルトの管理者アカウントのログインユーザー名が決め打ちされてるのはやはりセキュリティ的にまずいので、管理者ユーザーをもうひとつ作ってからデフォルトの admin ユーザーを削除する。 管理画面の「ユーザー」→「新規追加」で管理者権限をもつユーザーを新しく作成 ログアウトして新しく作成したユーザーでログイン 「ユーザー」→「投稿者とユーザー」で admin アカウント上にマウスをホバーさせると「削除」リンクが表示されるのでそれをクリック パーマリンクの設定 (設定 > パーマリンク設定) デフォルトの「/?p=nn」から「日付と投稿名」
MSセキュリティ担当者が紹介 マルチクラウド環境の保護を追求する Microsoft Defender for Cloud 本当のデータ活用できていますか? データドリブンがあたりまえと言われる今あらためて考えたいデータ活用のありかた Kubernetes活用の最適解とは? 今、注目のコンテナを活用した柔軟なIT基盤 運用、管理の課題を解決しメリットを最大化 DNSを守り、DNSで守る 高度・巧妙化し危険度を増すサイバーリスク いま考えるべきモダンセキュリティのあり方 50年の経験を持つアイネットが提供 ユーザー企業の使いやすさを第一に考えた ワンストップで使えるマネージドクラウド AWSとAzureを更に使いこなそう イマドキのマルチクラウドセキュリティを MS担当者が徹底解説 大事なのは”仕事の段取り” 幅広い業務を任されているからこそできる ひとり情シス流の業務改善術 いま求められる
このページについての説明・注意など PHP は、Apache モジュールや、CGI、コマンドラインとして使用できるスクリプト言語です。このページでは、主に PHP における、Web アプリケーションのセキュリティ問題についてまとめています。 Web アプリケーションのセキュリティ問題としては、以下の問題についてよく取り挙げられていると思いますが、これらのセキュリティ問題について調べたことや、これら以外でも、PHP に関連しているセキュリティ問題について知っていることについてメモしておきます。 クロスサイトスクリプティング SQL インジェクション パス・トラバーサル(ディレクトリ・トラバーサル) セッションハイジャック コマンドインジェクション また、PHP マニュアル : セキュリティや、PHP Security Guide (PHP Security Consortium) には、PH
妹認証とは 妹認証は、PHP用のCAPTCHAモジュールです。他のCAPTCHAモジュールとは違い、 非常に斬新なCAPTCHAです。妹認証のコンセプトは「人間的対話による認証」です。 これはネタではありません。極めて真面目なBOT対策用モジュールです これは相手が人間かどうなのかを判断する目的で開発されました。 が、一部ネタも混じっていることを白状しまs 質問文と回答文に日本語を完全にサポートします。 質問文はPHP+GD+TTFフォントで画像出力を実現しています。 また、難読化の設定も存在します。(未完成です) また、PHP初級者でもかなり簡単に設置できます。 質問文を含め「妹」はパッケージとして自由に変更可能です。 標準でバンドルされている「れいにゃ」パッケージを元に、 自分のオリジナルキャラクターのパッケージを作るのもいいと思います。 「妹」に限らず「姉」や「弟」・・・・・・・・・
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く