タグ

*phpに関するAkinekoのブックマーク (415)

  • 安全を考えてPHPの実行時設定を調整する

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

    安全を考えてPHPの実行時設定を調整する
    Akineko
    Akineko 2012/01/06
  • 【PHP】とあるページの、はてブコメント、ツイート、Facebookいいね!数を取得するテンプレコード【’11年末版】

    こんにちは。開発担当の林です。 今回はタイトル通りPHP(5.2以上)で、とあるページの、はてブコメントと、ツイート、Facebook いいね!数を簡単に取得するためのテンプレ用ソースコードです。 最低限のコードですが、比較的よく使われるものなのかなと思ってまとめました。 何かのお役に立てれば幸いです。 ※ 記事は、各サービスの公式 API を使っています。 はてなブックマークエントリー情報取得API Twitter API (日語参考:Twitter APITwitterまとめWiki ) Facebook Query Language (`・ω・´) はてブコメントと関連エントリーの取得 <?php // とあるページのアドレス(任意のアドレスをどうぞ) $sample_url = 'http://www.fenrir.co.jp/'; // はてブの情報取得 $hatena

    【PHP】とあるページの、はてブコメント、ツイート、Facebookいいね!数を取得するテンプレコード【’11年末版】
    Akineko
    Akineko 2011/11/08
  • PHP のよいところとよくないところ - id:k-z-h

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

    Akineko
    Akineko 2011/11/06
  • 試そう!PHPコードを解析して修正点を指摘·phpca MOONGIFT

    phpcaはPHPを静的に解析して小さなミスやコードの修正点を指摘してくれるソフトウェアです。 PHPを書く際にどう書けば小さなミスによるバグの発生を防げるでしょうか。一定の基準に沿って記述することで整然としたコードを実現し、可読性をあげることでバグの混入を防ぐことができます。そこで使いたいのがphpcaです。静的にPHPファイル(ディレクトリ単位も可)を解析し、修正すべき場所を指摘してくれます。 解析処理を実行しています。PHPのパスと、解析したいファイルやディレクトリ名を指定して実行します。解析処理中は随時メッセージが出力されます。 メッセージ例です。タブの利用や行の使い方に関してなどメッセージが表示されます。 ?>がない場合もメッセージが出ます。これはPHPの書き方としては逆かも知れません(確かない方が良いという話なので)。 PHPを書く上でありがちなミスやバグにつながりそうな指摘を

  • PHPソースコードリーディング入門(とっかかり編) - id:anatooのブログ

    PHPのソースコードを読むためのとっかかりの話。 ソースコード取ってくる gitから取得できる。 $ git clone https://github.com/php/php-src.git とりあえずビルドしてみる ビルドに必要なツールをインストールした後、buildconfスクリプトを叩いてconfigureスクリプトを生成したのち、通常通りconfigureを叩いてmakeする。例えば、余計な拡張を一切ビルドせずデバッガで動かせるようにビルドしたい場合は以下のようになる。 $ cd php-src $ ./buildconf $ ./configure --disable-all --enable-debug $ makeコマンドラインから叩けるバイナリは、"sapi/cli/php"にある。 $ sapi/cli/php -r "echo 'hello world';" hello

    PHPソースコードリーディング入門(とっかかり編) - id:anatooのブログ
    Akineko
    Akineko 2011/10/31
  • PHPでの画像処理が楽々かつコードも綺麗に書けるPHP5.3用以降用ライブラリ「Imagine」:phpspot開発日誌

    Welcome to Imagine’s documentation! ? Imagine, image manipulations reloaded PHPでの画像処理が楽々かつコードも綺麗に書けるPHP5.3用以降用ライブラリ「Imagine」 クラスはネームスペースで分けられて作られており、PHP5.3以降で利用可能。 サムネイル作成や切り取り、図形描画などのよく使われる処理をオブジェクト指向できれいに、あとで見ても分かりやすい状態でコードが書けます。 コード例は次のような感じで、メソッドチェーンを利用して直感的なコードが実現できているのがわかります。 こうしたものでネームスペースを使ったものって無かったので、ネームスペースちゃんとやりたい方にはよさそうですね。 関連エントリ 画像の縮小やトリミングに便利なPHPクラスライブラリ「Zebra_Image」 TwitterやFacebo

    Akineko
    Akineko 2011/10/19
  • PHPのさらなる利用者増を目指し再定義する·PHP.reboot MOONGIFT

    PHP.rebootはJVM上で動作するPHPを再定義したプログラミング言語です。 PHPは恐らくWebサイトにおいて最も良く使われている言語でしょう。習得も容易で、手軽に色々なWebアプリケーションが作れる、そんな利便性の裏で言語仕様などについて毛嫌いされる声も聞かれます。そこで注目したいのがPHPを再定義するPHP.rebootです。 PHP.rebootの書き方です。< ?phpではなく、{}を使ってコードを埋め込みます。まさにテンプレート的です。ファイルの拡張子はphprになります。 実行結果はもちろん普通に表示されます。 サーバ、GET/POSTも使えます。面白いのは変数名に$をつけず、JavaScriptのように定義することでしょう。;も使いません。 実行結果はこのようになります。 基的な文法はPHPと似ています。SQLとの親和性を高くしており、コードの中にSQLをそのまま埋

    Akineko
    Akineko 2011/10/19
  • BehatとSeleniumを組み合わせ受け入れテストを自動化する

    みなさんこんにちは。@ryuzeeです。 Behatは良さそうなので引き続き検証しています。 今回は、BehatとSeleniumを組み合わせて、受け入れテスト型のテストを自動化してみたので、その方法について説明しましょう。 なお、前回の記事を読まれていない場合はまずそちらを参照してください。 PHPでBDD(Behavior Driven Development)する方法 Seleniumの課題僕が関わっている案件では受入テストを自動化しているケースももちろんあって、その際はPHPUnitとSeleniumを組み合わせています。 このテストには以下のような課題があります。 画面の操作をするphpコードが大量にあって、ソースを見ただけでは何をしているのか分かりにくいSeleniumは操作に画面の要素名利用するため、例えばサイトのデザインを大幅に変えたりすると、テストの中身も大幅に書き換えな

    BehatとSeleniumを組み合わせ受け入れテストを自動化する
  • 『よくわかるPHPの教科書』のSQLインジェクション脆弱性 - ockeghem's blog

    このエントリでは、数値型の列に対するSQLインジェクションについて説明します。 以前のエントリで、たにぐちまことさんの書かれた『よくわかるPHPの教科書』の脆弱性について指摘しました。その際に、『私が見た範囲ではSQLインジェクション脆弱性はありませんでした』と書きましたが、その後PHPカンファレンス2011の講演準備をしている際に、同書を見ていてSQLインジェクション脆弱性があることに気がつきました。 脆弱性の説明 問題の箇所は同書P272のdelete.phpです。要点のみを示します。 $id = $_REQUEST['id']; // $id : 投稿ID $sql = sprintf('SELECT * FROM posts WHERE id=%d', mysql_real_escape_string($id) $record = mysql_query($sql) or die(

    『よくわかるPHPの教科書』のSQLインジェクション脆弱性 - ockeghem's blog
  • so-network.biz

  • 業務システムに組み込みたい。PHPからExcelファイルを読み書きする·PHPExcel MOONGIFT

    PHPExcelExcelファイルの読み書きを行うPHPライブラリ。PDF/HTML出力にも対応。 PHPExcelPHP製のオープンソース・ソフトウェア。業務システムを開発していて必ず発生するのがExcelのような表形式ファイルの取り込みだ。大抵はCSVに変換してもらって取り込むだろう。だがユーザが変換を忘れてExcelを読み込ませてしまうことも度々だ。 PHPで出力できる さらにシステムから資料を出力する際にもCSVをダウンロードして手作業で修正して…という手間をユーザにとらせることになってしまう。そんな時代はもう古い、PHPExcelを使ってリッチなExcelファイルをそのままやり取りしよう。 PHPExcelExcel 2007をベースとし、5.0/95/97以降のファイル形式の読み込みにも対応している。Excel 2003のXMLフォーマットも扱える。さらにOpenOffi

  • 9月10日PHPカンファレンス2011で講演しました

    ► 2020 (4) ► 9月 (1) ► 7月 (1) ► 6月 (1) ► 1月 (1) ► 2019 (3) ► 5月 (1) ► 3月 (1) ► 2月 (1) ► 2017 (4) ► 11月 (1) ► 9月 (1) ► 5月 (1) ► 4月 (1) ► 2016 (5) ► 11月 (1) ► 10月 (1) ► 9月 (1) ► 7月 (1) ► 3月 (1) ► 2015 (2) ► 10月 (1) ► 7月 (1) ► 2014 (1) ► 8月 (1) ► 2013 (2) ► 12月 (1) ► 8月 (1) ► 2012 (11) ► 12月 (2) ► 10月 (1) ► 6月 (2) ► 5月 (1) ► 4月 (3) ► 3月 (1) ► 1月 (1) ▼ 2011 (2) ► 10月 (1) ▼ 9月 (1) 9月10日PHPカンファレンス2011で講演

  • クローラを作る技術と設計 (毎週のハンズオン勉強会資料)

    3. XPathXML や HTML の任意の位置を取得するための式XPathエンジンがあれば、 XPathを指定して HTML 上の値を簡単に持ってこれる 4. XPath<?php$url = 'http://www.nicovideo.jp/';libxml_use_internal_errors(true);$doc = new DOMDocument();$doc->loadHTML(file_get_contents($url));libxml_clear_errors();$xpath = new DOMXPath($doc);foreach ($xpath->query('//a') as $node) { echo $node->textContent . "";}

    クローラを作る技術と設計 (毎週のハンズオン勉強会資料)
  • スマートフォン・デスクトップそれぞれに最適な画像を表示する -Adaptive Image

    画像を自動判定して、スマートフォンやデスクトップなどそれぞれの表示サイズに合わせて、最適なサイズに変更して画像を表示するPHP&JavaScriptを紹介します。 導入も簡単で、5分くらいでできる感じです。 Adaptive Images in HTML [ad#ad-2] Adaptive Imagesのデモ オリジナルの画像はサイズ1900x1069px、容量631Kbで、ブラウザのサイズに合わせて、ファイルサイズを変更して画像を表示します。 ファイルサイズの変更に伴い、サイズ自体も最適化されます。

  • PHP+MySQLなオープンソースの超多機能ECサイト構築ソフトウェア「LiveCart」:phpspot開発日誌

    LiveCart - Free and Open Source PHP Shopping Cart Software PHPMySQLなオープンソースの超多機能ECサイト構築ソフトウェア「LiveCart」 管理画面もあって、SEOや多言語対応、決済対応、カテゴリ階層、Valid HTML+CSSなど、アピールポイントがかなり書かれていますがとにかく多機能。 デモページを見てもとりあえずショッピングカートとして問題なさそうな感じです。管理画面のデモも使えます カートへの追加はAjaxで追加されたりと、うっとうしくない程度にAjaxやJSも使われています 商品一覧もamazonっぽくて分かりやすいです。 テンプレートのカスタマイズはWYSIWYGで編集できちゃうところもクール 他にもECサイト構築ソフトウェアはあれど負けず劣らずの多機能っぷり。選択肢の一つとして覚えておいてもよさそうですね

  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
  • PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)

    PHP5.3.7のcrypt関数には致命的な脆弱性があります。最悪のケースでは、任意のパスワードでログインできてしまうという事態が発生します。該当する利用者は、至急、後述する回避策を実施することを推奨します。 概要 PHPのcrypt関数は、ソルト付きハッシュ値を簡単に求めることができます(公式リファレンス)。crypt関数のハッシュアルゴリズムとしてMD5を指定した場合、ソルトのみが出力され、ハッシュ値が空になります。これは、crypt関数の結果がソルトのみに依存し、パスワードには影響されないことを意味し、crypt関数を認証に用いている場合、任意のパスワードでログインに成功する可能性があります。 影響を受けるアプリケーション crypt関数を用い、ハッシュアルゴリズムとしてMD5を指定しているアプリケーション。 環境にも依存しますが、デフォルトがMD5の場合もあります。筆者のテスト環境

  • TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」:phpspot開発日誌

    TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 2011年08月22日- HybridAuth, Open Source Social-Signle-Sign-On Solution for authentication through Facebook, Twitter, Google, Yahoo, MySpace, LinkedIn, AOL, Vimeo, FourSquare, OpenID and other Identity providers TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 Facebook, Twitter, Google, Yahoo, Windows Live, MySpace, LinkedIn, FourSquare, O

  • スマフォ向けのPHP/MySQLで書かれたADサーバ実装オープンソースソフトウェア「mAdserve」:phpspot開発日誌

    スマフォ向けのPHP/MySQLで書かれたADサーバ実装オープンソースソフトウェア「mAdserve」 2011年08月10日- mAdserve | Open Source Mobile Ad Server スマフォ向けのPHP/MySQLで書かれたADサーバ実装オープンソースソフトウェア「mAdserve」 MobFoxという月間数十億インプレッションを配信しているチームによって作られていて、システムがスケールするように設計されているらしいです。 スマートフォンサイトのみならず、アプリもターゲットすることができ、iOS, Android, Windows7アプリ用のSDKも公開されています キャンペーン作成画面 キャンペーン一覧 サイト、アプリケーション一覧 その他のスクリーンショット 今後重要度がますます上がってくるスマートフォン用のアドサーバということで、そういうサービスも多いと思

  • PHP のテストを Ruby で書く « blog.udzura.jp

    皆さん、楽しくテスト書いてますか~~~ 今日は、 rack-legacy を使うことで、 PHP のアプリケーションなのになぜか Ruby のコードでテストできて(受け入れテストのあたりですけど)、そうすると物の RSpec とかが使えて楽ですよ、と言う話をします。 rack-legacy とは。 まず、 Rack とは、 Ruby 製のウェブアプリケーション(Ruby on Rails、Sinatraなどをご存知かもしれません)とサーバ(Apache/Passenger、NginX、Lighttpdなどなど…)をつなぐ一種の規格です。 PerlPython にも似たような仕組みがあります。 ここで、 Rack::Legacy というミドルウェアを使うと、他の言語の CGI や、 PHP のアプリケーションが Rack の上で動かせます。 そして、 Rack の上で動くということは