タグ

PHPとcacheに関するraimon49のブックマーク (9)

  • PHPの脆弱性 CVE-2018-17082 によるキャッシュ汚染についての注意喚起

    エグゼクティブサマリ PHPの脆弱性CVE-2018-17082はXSSとして報告されているが、現実にはXSSとしての攻撃経路はない。一方、Apacheのmod_cacheによるキャッシュ機能を有効にしているサイトでは、キャッシュ汚染という攻撃を受ける可能性がある。 概要 PHPの現在サポート中のすべてのバージョンについて、XSS脆弱性CVE-2018-17082が修正されました。以下は対応バージョンであり、これより前のすべてのバージョンが影響を受けます。ただし、Apacheとの接続にApache2handlerを用いている場合に限ります。 PHP 5.6.38 PHP 7.0.32 PHP 7.1.22 PHP 7.2.10 PHP 5.5以前も対象であり、これらは脆弱性は修正されていません。 脆弱性を再現させてみる この脆弱性のPoCは、当問題のバグレポートにあります。 PHP ::

    PHPの脆弱性 CVE-2018-17082 によるキャッシュ汚染についての注意喚起
    raimon49
    raimon49 2018/09/25
    Apache + mod_cahce
  • PHPでは正規表現コンパイル結果のキャッシュが暗黙に行われている - hnwの日記

    筆者がPHPをさわり始めたころ、「PerlのコレはPHPではどうやるんだろう?」と思うことが頻繁にありました。一部の疑問については解説を見つけたり自分でソースコードを読んだりして解決したものの、考えるのをやめてしまったものもあります。その一つが正規表現コンパイル結果の保存に関するもので、最近まで完全に忘れていました。 正規表現のコンパイルというのは与えられた正規表現を解釈して実行しやすいデータ構造に変換する作業のことを指します。具体的にはDFA(決定性有限オートマトン)を構成するか、正規表現エンジン内部で用いられるVM命令列に変換するかといった処理になります。これらは複雑な処理ですので、性能の観点で言えば同じ正規表現に対するコンパイル処理はできるだけ繰り返したくありません。 Perlの場合、/foobar/ のようなスタティックな正規表現のコンパイルは1回しか行われません。一方で、正規表現

    PHPでは正規表現コンパイル結果のキャッシュが暗黙に行われている - hnwの日記
    raimon49
    raimon49 2016/10/29
    正規表現パターン文字列をキーにしてコンパイル結果を連想配列に格納している
  • キャッシュ制御不備の脆弱性にご用心

    古い書籍に掲載されたPHP記述の掲示板ソフトを動かしていると、ログアウト処理がうまく動作していないことに気がつきました。チェックの方法ですが、ログアウト処理の脆弱性検査の簡単なものは、「安全なウェブサイトの作り方」別冊の「ウェブ健康診断仕様」に記載されています。 (J)認証 ログアウト機能はあるか、適切に実装されているか ログアウト機能がない、あるいはログアウト後「戻る」ボタンでセッションを再開できる場合 この仕様書にある通り、『ログアウト後「戻る」ボタンでセッションを再開できる』状態でした。 おそらくセッション破棄がきちんと書かれていないのだろうと思いログアウト部分のソースを見ると、以下の様な処理内容でした(オリジナルからはリライトしています)。 <?php // logout.php require_once('common.php'); // 共通の設定・処理 session_sta

    raimon49
    raimon49 2015/03/27
    ログアウトのような処理はPOSTで。
  • PHP7はなぜ速いのか

    PHPerがgolangでもがいてる話 -- Gopherくん The Go gopher was designed by Renee French. The gopher stickers was made by Takuya Ueda. Licensed under the Creative Commons 3.0 Attributions license.

    PHP7はなぜ速いのか
    raimon49
    raimon49 2014/12/25
    >コピーオンライトの功罪「zval(16bytes)のコピーを減らすのに12bytes使うのは割に合わない」 / 分かり易い。
  • PHP 5.5ネーティブキャッシュの話

    2. キャッシュとは? データを再利用する仕組み オペコードキャッシュとは? コンパイル後のバイトコードを共有メモリに保持、再利用することで、 パース/コンパイルの時間・負荷をなくす。 キャッシュの利点: 応答速度改善、サーバ負荷低減 実行形態:サーバ組込型:APC, Xcache, OPcache 等、分散型: memcache キャッシュとは? クライアント ( Webブラウザ ) クライアントクライアントクライアントクライアント キャッシュキャッシュキャッシュキャッシュ ページキャッシュページキャッシュページキャッシュページキャッシュ データデータデータデータ キャッシュキャッシュキャッシュキャッシュ オペコードオペコードオペコードオペコード キャッシュキャッシュキャッシュキャッシュ 出力 PHPスクリプト レスポンス リクエスト Webサーバー/PHP フラグメントキャッシュフラグ

    PHP 5.5ネーティブキャッシュの話
    raimon49
    raimon49 2013/12/19
    OPcache 設定
  • PHP5.5 のコードキャッシュは APC から Zend OPcache へ

    PHP5.5 からコードキャッシュとして標準バンドルされた Zend OPcache を試してみました。 第6回関西PHP勉強会で Zend OPcache についてLTしたのでインストールやベンチマークなどはこちらで。 beta4時点では、Zend OPcache は拡張で提供され、opcache.so インストールされる。 Zend OPcache を使うには、php.ini で zend_extension=opcache.so の記述が必要。 やっぱりデフォルトでインストールされるのは楽。 PHP5.5リリースと共に使えるので安心。(PHP5.4 対応の APC はまだ beta) ユーザデータのキャッシュはできないので、別の方法が必要。 OCP – OPcache Control Panel Zend OPcache の利用状況(設定、キャッシュ量など)が確認できるスクリプトが

    raimon49
    raimon49 2013/05/06
    APC対応無いかも知れんのか。
  • これがWikipediaの裏側、知られざる大規模システムの実態「Wikipedia / MediaWiki におけるシステム運用」

    Wikipediaといえば世界で第5位の訪問者数を誇る巨大サイトですが、システム運営に携わる人間は世界でわずか6人、しかもこれはボランティア込みという恐るべき少人数で、第4位のFacebookのサーバ数が3万台を超えているのに対して、Wikipediaはわずか350台で運用している……などというような感じで、知られざる今のWikipediaの実態が「KOF2010」にて日行われた講演「Wikipedia / MediaWiki におけるシステム運用」で明かされました。 登壇したのはWikipediaを運営するWikimedia財団のエンジニアであるRyan Lane氏で、100席ある座席は満席になり、隣の中継の部屋まで人があふれているほどの盛況っぷりで、語られる内容もなかなか参考になることが多く、今後のGIGAZINEサーバにも活かせそうな内容でした。 というわけで、「Wikipedia

    これがWikipediaの裏側、知られざる大規模システムの実態「Wikipedia / MediaWiki におけるシステム運用」
    raimon49
    raimon49 2010/11/05
    Wikipediaバックエンド LAMP
  • CakePHPからJSONをつかうモデルをつくった - UNIX的なアレ

    JSONでシリアライズされているAPIをたたくようなモデルを作ってみました。ローカルに配置しているJSONのファイルにも対応しています。 キャッシュをさせるような仕組みになっているので、多数叩くような場合にも効果的です。 modelの下に、json.phpというファイル名で保存してください。 app/models/json.php <?php class Json extends AppModel { var $name = 'Json'; var $useTable = false ; /* * jsonデータの取得 * @param string JSONファイルへのパス * @param boolean キャシュさせるか * @return mixed */ function find( $path , $cache = false ){ if ( !substr_count( $p

    CakePHPからJSONをつかうモデルをつくった - UNIX的なアレ
    raimon49
    raimon49 2010/08/24
    ローカルファイルにも対応 シンプル
  • PHPでパフォーマンス向上のためのキャッシュテクニック色々:phpspot開発日誌

    PHP Performance Series: Caching Techniques - Mike Willbanks : getting into the mind of a php developer. PHPでパフォーマンス向上のためのキャッシュテクニック色々が紹介されていました。 取得に時間のかかるデータはキャッシングで高速化、は当たり前の処理ですが、その方法もいろいろあり、コードが紹介されていたので解説 apc によるキャッシング方法( APCの説明 ) APCPHPのコードを共有メモリなどに中間形式にキャッシュしておいてPHPの実行速度を上げるための仕組みです。 そのAPCエクステンションを有効にすると、データをキャッシュしておくためのAPIも提供されます。 <?php if (($config = apc_fetch('config')) === false) { requ

  • 1