タグ

PHPに関するMarin_MTBのブックマーク (22)

  • PHP v5.4.28, v5.5.12以降で必要なPHP-FPMの設定

    PHP v5.4.28 と v5.5.12での修正点PHP v5.4.28, v5.5.12 では、CVE-2014-0185 に対するパッチが当てられており、PHP-FPMで使用されるソケットファイルのデフォルトパーミッションが666から660に変更されています。ですので、運用環境によっては、WebサーバがPHP-FPMのソケットファイルにアクセスできなくなり、今まで問題なく動いていたWebサイトがエラーで見られなくなることになります。 必要になる設定対応策は簡単で、PHP-FPMの設定ファイル内にある listen.owner や listen.group に、Webサーバからアクセスできるような所有者・所有グループを設定するだけです(この設定が、ソケットファイルの所有者・所有グループになります)。その後で PHP-FPMを再起動して下さい。 設定例; ソケットファイルの所有者をセット

    PHP v5.4.28, v5.5.12以降で必要なPHP-FPMの設定
  • PHP 定義されている情報(クラス、関数、変数等)を取得する関数まとめ

    PHP には、定義されているクラスや関数、変数などの一覧を取得する関数があります。 ここでは定義情報を取得できる関数群をまとめてみました。ここでは実行例として、Laravel アプリケーションのビューテンプレート(hoge.blade.php)で実行した内容を記載しています。 定義された情報を取得する関数群 get_defined_constants() 定義されている定数を連想配列として取得します。キーが定数名で、要素がその値となっています。 http://www.php.net/manual/ja/function.get-defined-constants.php 出力してみると、1771 個の定数がありました。内容を見ると、フレームワークやアプリケーションで定義されたものの他に、PHP体や extension で多数の定数が定義されていることがわかります。 array (size

  • PHP Fine Diff - 利用場面が多そうなPHP差分表示ライブラリ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました あなたが開発者であるならば差分表示にはいつもお世話になっているのではないでしょうか。かく言う筆者も毎日のように使っています。しかしそれの主な利用はプログラミングやHTMLコーディングではないかと思います。 差分表示をもっと色々な場面で使ってみたいと思うならば、自作のWebアプリケーションに組み込んでみると面白そうです。そこで使ってみたいのがPHP Fine Diffです。 PHP Fine Diffの使い方 使い方の例としては次のようなコードになるようです。テキストを二つ与えるだけで使えます。 include 'finediff.php'; $opcodes = FineDiff::getDiffOpcodes($from_text, $to_text); 比較は文字、行、単語単位

    PHP Fine Diff - 利用場面が多そうなPHP差分表示ライブラリ
    Marin_MTB
    Marin_MTB 2014/06/03
    うーん、使えるかなぁ?
  • 間違いだらけのHTTPセッション管理とその対策

    (Last Updated On: 2018年10月12日)HTTPセッション管理はWebセキュリティの中核と言える機能です。Webセキュリティの中核であるHTTPセッション管理に設計上のバグがある事は少なくありません。今回のエントリはPHP Webアプリ開発者ではなく、主にWebフレームワーク側の開発者、つまりPHP体の方に間違いがあるという話しです。Webアプリ開発者の回避策も紹介します。 まずセキュリティの基として「入力のバリデーションを行い、正当な入力のみを受け入れる」があります。しかし、PHPに限らず多くのセッション管理機構は当たり前の「入力のバリデーションを行い、正当な入力のみを受け入れる」を行っていません。セッションIDの再生成(リセット)も不完全な物が多いと思います。 参考: 知らないと勘違いする「合成の誤謬」の罠 開発者は必修、SANS TOP 25の怪物的なセキュリ

    間違いだらけのHTTPセッション管理とその対策
  • PHP本体でタイミング攻撃を防御できるようになります

    (Last Updated On: 2021年3月25日) PHP 5.6からタイミング攻撃に対する対策が導入されます。メジャーなアプリケーションはタイミング攻撃対策が導入されていますが、PHP 5.6から簡単に対策できるようになります。 タイミングセーフな文字列比較関数はhash_equalsとして実装されました。 http://php.net/manual/es/function.hash-equals.php タイミング攻撃とは タイミング攻撃とは、コンピュータが動作する時間の違いを測って攻撃する、サイドチャネル攻撃(副作用攻撃)と呼ばれる攻撃手法の1つです。HTTPSの圧縮の副作用を利用したサイドチャネル攻撃が有名です。 コンピュータの動作時間、温度、音、電子ノイズ、電力使用量など、アルゴリズム自体の脆弱性を攻撃するのではなく副産物を利用する攻撃方法でサイドチャネル攻撃の一種です。

    PHP本体でタイミング攻撃を防御できるようになります
  • カネと時間考えるならPHPやっとけ。たぶn:村上福之の「ネットとケータイと俺様」:オルタナティブ・ブログ

    あー、 PHPとかいう糞言語 おまえは正しいよ。すげー正しい。 イエス・キリストの16777216倍くらい正しいよ! そして、俺はすべてにおいて、間違ってるよ。 いっておくが、おれはプログラマとしては3流というか256流くらいだ。 クソだ。 最近、まともなコードも書いてないし、書けねーよ。 俺に生きている価値なんか1ピコグラムもねえよ。 けどな、言語的にクソかどうかなんかで、メシはえねえんだ。言語がクソでも、手っ取り早くメシがえるなら、それを優先しなきゃいけねえ。 ポインタ実装とかどーでもいいよ。 「書いたように動かない」とかいう奴はカネもらってやる仕事じゃねえよ。カネもらってコード書くなら、「動くように書く」んだよ。 PHPがクソだって? いいんだよそれで。 エンジニアはつねにクソってるんだ。 WebのプログラマなんてスカトロAV女優みてーなもんなんだよ。 クソって、毎日クソみた

    カネと時間考えるならPHPやっとけ。たぶn:村上福之の「ネットとケータイと俺様」:オルタナティブ・ブログ
  • 自己流のSQLインジェクション対策は危険

    HTMLエスケープの対象となる < > & " の4文字は、文字実体参照に変換された後、preg_replace関数でセミコロンを削除してしまうので、中途半端な妙な文字化けになりそうです。 一般的な原則としては、データベースにはHTMLの形ではなくプレーンテキストの形で保存しておき、HTMLとして表示する直前にHTMLエスケープする方法で統一することで、上記のような文字化けやエスケープ漏れをなくすことがよいでしょう。 脆弱性はないのか このsanitize関数に脆弱性はないでしょうか。上表のように、バックスラッシュ(円記号)を素通ししているので、MySQLや、設定によってはPostgreSQLの場合に、問題が生じそうです。以下、それを説明します。以下の説明では、MySQLを使う想定とします。 以下のように、ログイン処理を想定したSQL文組立があったとします。 $sql = sprintf(

  • ハッキングされました。

    ハッキングされました。
    Marin_MTB
    Marin_MTB 2013/02/13
    開示されているログ等にIPを残しているのマズくね?あとJP-CERTに通報しました?
  • 6分でわかる最近のPHP ― 2012夏

    さて夏がやってきました。夏と言えばPHPということで、昨年に引き続き、最近のPHP事情をご紹介。 1. PHP5.4リリース PHP5.4が2012年3月にリリースされました。 Traits や Short array syntax(配列の短縮構文)、array dereferencing(foo()[0]) などのPHP言語拡張、PHPコマンドで起動するビルトインサーバ、そしてパフォーマンスの改善など大きな変更が加えられています。 言語自体の機能追加も注目ですが、ビルトインサーバは多くの人にとってメリットになるでしょう。これを使えばPHPアプリケーションの動作確認のためにApacheやnginxなどのhttpdサーバを自分のPCに入れる必要はありません。 下記のようなコマンドを打つだけで、ビルトインサーバが起動します。新しいフレームワークやライブラリ、アプリケーションを試してみたい時に手

  • WordPressのwp-config.phpで出来る事いろいろ

    自分用メモ。wp-config.phpの設定 で出来る事のリストです。よくある カスタマイズは、テーマファイル内 にコードを書きますが、wp-config で出来る事を知っておくのもとても 大事ですね。 普段あまり利用しないので覚えてないし、困ったときはいちいち探してるので時間をロスしないようにメモしておきます。 スニペットのメモリストですし、細かい解説は面倒なんでしません。また、「wp-configってなんだろう?」という方には全くお役に立てないと思います。 wp-config.phpで出来る事リスト以下リストです。古いバージョンの事は視野に入れてません。 リストはCODEXのwp-config.phpの編集から抜粋しています。 ※変更前にバックアップして下さい ※自己責任でお願いします ※コード一覧は記事最下部に有ります 01. デバッグモードにするdefine('WP_DEBUG',

    WordPressのwp-config.phpで出来る事いろいろ
  • [3]Linuxカーネルの“巨大なロック”が原因と判明

    大規模サイトの性能改善作業とは、どういうものなのか――。リクルートの中古車情報サイト「カーセンサーnet」を全面リニューアルした体験を基に、その実態をレポートする。第1回、第2回はミドルウエアのチューニングを行った。後半はLinuxカーネルに原因があると判明するまでの調査に進む。様々なツールを組み合わせて追跡していった。 中古車情報サイト「カーセンサーnet」の性能試験が格的に始まって10日目。試験の開始当初は、ブラウザーの表示に10秒もかかるなど目標性能に遠く及ばなかった。しかし前回までで紹介したように、ファイル共有システム「NFS」の設定変更、Webサーバー「Apache」のパラメーター修正、PHPアプリケーションの見直しによって、性能は劇的に向上した。 リクルート入社3年目の私は、今回の性能検証プロジェクトのリーダーとして、得意分野を持つチームメンバーと一緒に対策を進めていた。カッ

    [3]Linuxカーネルの“巨大なロック”が原因と判明
    Marin_MTB
    Marin_MTB 2012/03/28
    ここまで追いかけるのは凄いなぁ。
  • 5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!

    こんにちはこんにちは!! Webプログラミングしてますか! よく「PHPセキュリティがダメ」とか言われてるよね。 でもそれって、べつにPHPが悪いんじゃなくて、 たぶん、セキュリティとかが、まだよくわからない人が多いだけなんじゃないかな。 がんばって勉強しようと思っても、なんだか難しい理屈が並んでいたりするしね…。 なので今日は、セキュリティ対策について、 「これだけやっとけば、わりと安全になるよ」ってことを、初心者むけに、大雑把に書いてみます! 理屈がわからなくても、最初はコピペでも、 なにもやらないより、やったほうがきっとマシになる! 1. XSS対策 動的なものを表示するとき、全部エスケープすればokです! (NG) あなたの名前は <?= $name ?> ですね! ↓ (OK) あなたの名前は <?= htmlspecialchars($name, ENT_QUOTES) ?>

    5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!
  • WordPressのトップページを雑誌や新聞のような段組にする方法

    WordPressのブログは一般的に記事タイトルと記事の概要が単純に縦に並ぶだけですが、jQuery Masonry という jQuery プラグインを使用すると、このブログのトップページのように雑誌や新聞のような段組で記事一覧を並べることができます。 jQuery Masonry は WordPress 用に作られたわけではありませんが、WordPress テーマに組み込んでトップページ等で使用することができます。 ただ、公式のドキュメント通りに JavaScript を書いただけでは WordPress テーマではうまく動かないので、やり方をここにまとめておきます。 ここでは、WordPress 3.3 のデフォルトテーマ「TwentyEleven」をベースに解説します。 準備 まず jQuery Masonry 公式サイト のページ中央にある「Download the script

    WordPressのトップページを雑誌や新聞のような段組にする方法
  • 安全を考えてPHPの実行時設定を調整する

    PHPを初期設定のまま使うと、いろいろ問題が起こる可能性があります。今回は、問題の発生を未然に防ぐ設定法をいくつか紹介します。(編集部) 初期設定のままでは良くないところもある ここ数回はPHP実行時の設定について解説しています。実行時設定を変更する方法として、PHPの設定ファイル(以下php.iniファイル)に設定を記述する方法と、Apache HTTP Server(以下Apache)の設定ファイルにPHPの設定を記述する方法の2つがあり、前回はその使い分けについて解説しました。 サーバ全体で標準の設定値としたいものはphp.iniファイルに、バーチャルホストやURLごとに変更したいものはApacheの設定ファイルに記述する、という使い分けの指針も示しました。 今回は、php.iniで設定できる項目、つまりサーバ全体にかかわる設定項目の中でも、初期設定のままにしておくことがあまり適切で

    安全を考えてPHPの実行時設定を調整する
  • PHPより気軽に、Rubyで簡単ウェブ開発 - m.igrs.jp

    元旦に rack-server-pages というものをリリースしました。 元旦リリースしました。僕からのお年玉です。 > rack-server-pages j.mp/uNthnL #ruby — Masato Igarashi (@migrs) January 1, 2012 実は数年前からずっと作りたいと思っていたもので個人ToDoリストに長らく居座っていたものがやっと着手できた。 Ruby で WEB開発といえば Ruby on Rails というデファクトスタンダードを筆頭に MVCフレームワークを利用するのが一般的ですが、現状フレームワークを利用しないという選択肢がほとんど無いんですよね。 フレームワークというキーワードを聞くだけで「よく分からない」「プログラマの為のもの」 感覚になってしまう人も多いはずです。 たとえシンプルで軽量といわれている Sinatra ですら。 PH

  • PHP のよいところとよくないところ - id:k-z-h

    php前提。PHP はクソ。滅びろ。ruby はしらんが pythonperljava のほうがよっぽど楽。javascript は多分同じかもっと地獄。よいところ導入が安い動作環境的な意味でも、コード的な意味でも。置けば動くし、書けば動く。当に何も知らん人間でもなんとか動く。エンジニアの頭数もそろえやすい。運用コストのスケーリングができるapache+mod_php だけでも普通に早い。apc 入れればそれだけで大抵のリクエストさばける。nginx+php-fpm+apc なんて環境にすればもっとさばける(と思う。まだ試してない。)最悪 HIPHOP-PHP でなんとかできることは Facebook が証明している。ドキュメントが読みやすいphp.net のドキュメントはテンプレートがしっかりしていて全部それにそっているので非常に読みやすい。邦訳も早い。よくないところ標準の

    Marin_MTB
    Marin_MTB 2011/11/07
    だいたいあってる。簡単にコーディング出来るからこそ生まれる弊害というやつだねぇ…。
  • 色々なPHPフレームワークのパフォーマンスを比較 - cakephperの日記(CakePHP, Laravel, PHP)

    PHPフレームワークの速度比較では、HelloWorldを表示するのみの単純なアプリを用いた計測を元に比較表が作られることが多いです。特に後発のフレームワークは分かりやすい特徴付けとして速度をアピールする傾向にあるため、その比較表を元に N倍速いというアピールをしています。 PHPフレームワークを使うということは、DBまで絡めたWebアプリを作ることがほとんどなため、HelloWorldアプリの比較よりは、DBからレコード取得して表示するまでの処理速度を比較したほうがより現実に近い指標になると思います。特にCakePHP1系ではDBのデータ取得も独自ドライバになっていますし、モデルの処理も重いのでそこまで含めて他と比較したほうが良いと思ってます。 今回はDBから1レコード取得して表示するという簡単なアプリで各フレームワークの速度を評価しました。フレームワークに備わっているViewキャッシュ

    色々なPHPフレームワークのパフォーマンスを比較 - cakephperの日記(CakePHP, Laravel, PHP)
  • 5分でわかる最近のPHP - 2011夏

    ここ最近のPHP界隈では、興味深いニュースが続いています。最近PHPを追っかけていない人へ少しづつご紹介。 近頃、PHP界隈でホットなニュースを5つ、つまみぐいして見てみましょう。 1. PHP5.4.0-alphaリリース! PHPの次期バージョン、5.4.0-alphaがリリースされました。 まだ alpha1 ですが、すでに Traits や Array dereferencing support など様々な機能追加が行われています。 特に Traits は面白い機能で、いずれはこれを利用したフレームワークの登場が考えられます。ぜひ使ってみたい機能ですね。 今後、正式リリースに向けてさらなる新機能が追加されていくようなので、目が離せません。 PHP 5.4 alpha1 released 現状のPHP環境はそのままで、PHP 5.4 を試す PHP5.4 alpha1リリース! PH

  • サーバ上で動いてるどのphpが重いか?を調べられる「phptop」:phpspot開発日誌

    サーバ上で動いてるどのphpが重いか?を調べられる「PhpTop」。 「サーバ監視に超使える〜topコマンドのまとめ」というエントリで様々なtopコマンドを紹介したのですが、phptopなるものを新たに発見したのでご紹介。 具体的に出来ることは、今サーバで動いているものを指定した期間で、もっともアクセスが多いphpCPUを多く消費しているphp、メモリを多く使っているphpといったものを降順にソートできるというものです。 サーバ上で多くのphpが動いており、どうも負荷が高いけどどれが重いのかよくわからないという場合に使えます。 top コマンドでは httpd が動いてるぐらいしか分からないので phper な方で負荷にお悩みの方は使ってみるのもよいかも。 たとえば、 $ phptop -t 15 -s mem のように実行すると、15分以内で、メモリを多く使っている順にソートが可能。

  • 新卒インフラエンジニア2年目

    Marin_MTB
    Marin_MTB 2010/11/30
    ふーむ。ディスクをケチる必要がなければモジュールをイチイチdisable必要はないと思うけど…。メモリ管理をキッチリすればworkerでも問題ないと思う。