タグ

ブックマーク / xtech.nikkei.com (16)

  • 58. すごいリロード対策

    まず、日のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ

    58. すごいリロード対策
  • [PHPウォッチ]第35回 Yahoo!はどうPHPを使っているのか--PHPカンファレンス2007レポート

    PHPユーザ会が開催する日最大級のPHPイベント[「PHPカンファレンス2007」が2007年9月1日,開催された。今回のPHPウォッチでは,カンファレンスで行われた講演内容を基に,最近のPHPの動向について紹介する。 PHPカンファレンスとは 東京都大田区の産業プラザにてPHPカンファレンス2007が開催された。同カンファレンスは,毎年夏に開催され,日PHPユーザ会を中心とする有志によりボランティア・ベースで運営されている。8回を迎えた今年のPHPカンファレンスでは,350名を越える来場者が参加し,その後続いて行われた懇親会にも100名を超える参加があるなど,大きな賑わいを見せた。 プログラムはPHPの現状と今後の動向を解説する基調講演「PHPの今とこれから2007」から始まり,大規模サイトの構築ノウハウや,注目フレームワークの紹介などが行われた。 また,今年のカンファレンスでは,Y

    [PHPウォッチ]第35回 Yahoo!はどうPHPを使っているのか--PHPカンファレンス2007レポート
  • 53. まだ、PEAR::DBをお使いの方へ

    PHPからDBを使うときにはPEAR::DBをお使いの方もまだたくさんいらっしゃると思います。しかし、PEAR::DBのマニュアルにも「This package been superseded by MDB2 but is still maintained for bugs and security fixes」(このパッケージの代わりにMDB2の使用が推奨されますが、バグの修正、セキュリティフィックスは引き続き行われます。)と書かれているとおり、今後はPEAR::MDB2をお使いになることをお奨めいたします。 ということで、今回はPEAR::MDB2についてご紹介したいと思います。 PEAR::MDB2 マニュアル http://www.go-pear.org/manual/ja/package.database.mdb2.php MDB2についてはこちらをご覧下さい http://ww

    53. まだ、PEAR::DBをお使いの方へ
  • 生年月日から年齢を計算する簡単な計算式:ITpro

    私の個人ブログに掲載したら好評でしたので、こちらでもご紹介してみます。 最近知ったんですが、生年月日から年齢を計算する簡単な計算式というのがあるそうです。 (今日の日付-誕生日)/10000の小数点以下切捨て。 PHPで書くと echo (int)((20070823 - 19850101)/10000); Perlで書くと print int ((20070823 - 19850101)/10000); JAVAで書くと System.out.println( (int)((20070823 - 19850101)/10000) ); という感じになります。 日の法律を確認してみました。誕生日の前日が終了する瞬間(すなわち誕生日をむかえる午前0時00分の直前)に1歳を加えることになる。ただしうるう年など、年によって期間を定めた場合において最後の月に応当する日がないときは、その月の末日を

    生年月日から年齢を計算する簡単な計算式:ITpro
  • 41. mod_rewriteを使いこなそう

    SEOという言葉が普及して久しいですが、SEO対策の1つとしてURLを最適化する という方法があります。たとえば以下の2つのURLを見比べてみてください。 A.http://phppro.jp/news/detail.php?id=10 B.http://phppro.jp/news/detail/10/ 検索エンジンは、AのURL表記よりもBのURL表記を好み、ページの評価が高くなり ます。 このようなURLの最適化をPHP言語だけで処理するのは困難です。そのため、Web サーバーの機能によりURLの「書き換え」を行い、BのリクエストをAのリクエス トに移すことで対応を行います。これを実現する仕組みの1つがmod_rewriteモ ジュールです。 mod_rewriteモジュールは、Apacheに標準で添付されているモジュールで、多く のパッケージでデフォルトで組み込まれています。SEO

    41. mod_rewriteを使いこなそう
  • 39. IPアドレスの保存方法

    IPアドレスをデータベースに保存する場合に、文字列で保存してないでしょうか。IPアドレスは32bitの数値なので、そのまま数値として保存することができます。 一般的にIPアドレスはxxx.xxx.xxx.xxxというような4つの数値をドットで区 切った文字列で表されることが多いと思います。この文字列は32bitの整数を 8bitずつに区切った数値を並べたもので、この数値から32bitの整数を取得する ことができます。 PHPでは、ip2long と long2ip という2つの関数を使って、文字列形式から数値 に、数値から文字列形式に変換することができます。例えば、Webページにアク セスしてきた端末のIPアドレスを数値形式で取得する場合、以下のようにします。 $ip_address = $_SERVER["REMOTE_ADDR"]; $ip_long = ip2long($ip_add

    39. IPアドレスの保存方法
  • オープンソースのブログ・ツール「WordPress」って知ってますか?

    ブログのツールと言えばSix Apartの「Movable Type」が定番だが,海外では少し事情が変わってきているようである。今,米国のAutomatticという小さな会社が手がける「WordPress」が注目を浴びている。「Google Trends」で見てみると,Movable Typeはここ何年もほぼ横ばいで推移し,緩やかに下降しているのが分かる。これに対しWordPressの勢いはすごい。日以外のすべての国でMovable Typeを上回っている。北米はもちろん,とりわけシンガポールやマレーシアといったアジア圏,ノルウェーなどの北欧で高い関心を集めているようだ(写真1)。 写真1●Google TrendsではWordPressが優勢 検索語の傾向を調べられるGoogle Trendsで比較してみた。Movable Typeは赤い線,WordPressは青い線で示している。上の

    オープンソースのブログ・ツール「WordPress」って知ってますか?
  • 19. マルチバイト文字とXSS脆弱性

    比較的新しい攻撃方法に、不完全なマルチバイト文字列を送信することでHTMLに 記述されているクォートを無効化する方法があります。この攻撃はHTML エス ケープのみでは防げない事に注意が必要です。では、どのように対策をすれば良 いのでしょうか? まずは、不完全なマルチバイト文字を利用してクォート(")を無効化できるこ とを確認しましょう。次のスクリプトをブラウザから実行して下さい(最後の ダブルクォテーションとPHPタグの間にスペースを入れないで下さい)。 <?php $str = urldecode('%81'); header('Content-Type: text/html; charset=SJIS'); ?> <?php echo htmlentities($str, ENT_QUOTES, 'SJIS') ?>" コードが分かりづらいので注意してください。PHPタグを2つに大別

    19. マルチバイト文字とXSS脆弱性
  • 15. FPDFで簡単にPDFを作ろう

    PHPPDFを作成したいとき、皆さんはどのようなライブラリを用いて作成しますか?PDFlibでしょうか。PDFlibはPHP側であらかじめ関数が用意ということもあって使いやすいかもしれません。しかし、ライブラリをコンパイルしなければならないなど手間が掛かることがあります。そこで、今回はフリーウェアとして公開されているPDF作成のクラス「FPDF」を使って簡単にPDFを作成する方法をご紹介します。 FPDFはフリーウェアとして公開されているPDFを作成するためのPHPクラスです。しかも、このクラスを利用してPDFを作成するのに特別なextensionは必要ありません。動作環境としてはPHP4またはPHP5の環境となります。 では早速使ってみましょう。FPDFのサイトで公開されているものでも日語対応モジュールをインストールすることにより日語のPDFを作成することが可能になりますが、air

    15. FPDFで簡単にPDFを作ろう
  • PHPの「守護神」Suhosin

    PHPは,数え切れないほどのWebサイトで使われている非常に有名なプログラミング言語である。基的にはスクリプト言語であり,実行時にコンパイルされる。PHPは非常に多くのコミュニティによって支えられており,様々な機能を提供する膨大な数のオープン・ソース・ライブラリが公開されている。「WordPress」といった人気アプリケーションも,PHPで記述されている。ただし,PHPにもセキュリティの問題は存在する。 PHPセキュリティ問題は,長年にわたって多くの開発者が問題の修正に取り組んできた。しかし,常に迅速な対応が行われてきたわけではなく,被害を受けるユーザーも存在した。2006年末には,PHP開発者のStefan Esser氏が,この状況に嫌気がさして,PHP Security Response Teamを辞任した。 Esser氏は自身のブログで,「(辞任した理由は)いくつかあるが,最も決

    PHPの「守護神」Suhosin
  • [PHPウォッチ]第31回 パフォーマンス向上など,数々の新機能を搭載したPHP 5.2.0リリース

    PHP 5.2.0が2006年11月2日にリリースされた。機能拡張だけでなく,200を超えるバグフィックスも行われている。ここにはセキュリティ・ホールへの対応も含まれているため,速やかにアップグレードすることが望まれる。 PHPリリース関連情報 PHP 5.2.0にて搭載された主な新機能 PHP 5.2.0は最初にRC版が公開されてから3カ月以上の期間を経て,リリースされたPHPの最新版である。PHP 5.1系と比べて,数多くの新しい機能が搭載されたため,まずは主な新機能の特徴を紹介していく。 ・ パフォーマンス向上と,より正確なメモリー利用状況のトラッキングを備えたメモリーマネージャの採用。 PHPの実行エンジンであるZend Engineにおいて,新しいメモリーマネージャが実装された。これにより,PHPが大きなブロック単位でメモリーの割り当てを行い,そのヒープをPHP自身で管理するよう

    [PHPウォッチ]第31回 パフォーマンス向上など,数々の新機能を搭載したPHP 5.2.0リリース
  • WindowsにPHPとMySQLを一括インストールできる無償パッケージ「XAMPP」,日本語化され24時間サポートも開始

    エグザクソンは12月1日,「XAMPP」の24時間サポートを開始した。XAMPはWindowsLinuxにApache,MySQLPHPを一括してインストール,管理できる無償のパッケージ。ザンプ,またはエグザンプと読む。非営利組織プロジェクトApache friendsが開発,配布しており,11月27日に公開されたXampp1.5.5からインストーラや管理ツールが日語化された。 Windowsではインストーラを起動して,ディレクトリをなどを指定するだけでApache,MySQLPHPを一度にインストールし,Windowsのサービスに登録できる。またコントロールパネルと呼ぶGUIツールにより,Apache,MySQLなどを起動,停止できる。アンインストーラも付属し,一括してアンインストールできる。Linuxではシェルスクリプトにより一括インストールと起動,停止が可能。 phpmyad

    WindowsにPHPとMySQLを一括インストールできる無償パッケージ「XAMPP」,日本語化され24時間サポートも開始
  • 第3回 PHPでQRバーコードを作成する(その1):ITpro

    レシピ プラットフォーム:HTTPサーバー 使用言語:PHP 4.0以上 GDライブラリ ver2.0以上 ※サーバーサイドで動作するものを作成する場合は,HTTPサービス(Apacheなど)とPHPが動作する環境が必要です。 今回は,任意の文字列を含むQRコード画像をプログラムで作成する方法をご紹介します。最近見かける機会が多くなったQRコードですが,ざっと調べていただくとおわかりの通り,作成には専用ソフトの購入が必要です。ところがQRコードを生成するためのライブラリという大変貴重なものをフリーウエアとして公開しているフリーソフト作者さんがいらっしゃいます。今回はこのライブラリを使用してQRコード作成プログラムを作ってみます。 QRコードとはどういうものか QRコードと言われてもピンとこない人も,下記の画像を見れば「ああ,見たことがある」と納得していただけるでしょう。 携帯電話のすべての

    第3回 PHPでQRバーコードを作成する(その1):ITpro
  • PHP 5.2.0がリリース,「200件を超えるバグを修正,早急にアップグレードを」

    PHP開発チームは11月2日,PHP 5の最新バージョン「PHP 5.2.0」をリリースした。最新版では機能拡張に加え,200件を超えるバグ(セキュリティ・ホールを含む)を修正したという。 PHPは,データベースと連携するWebアプリケーションを容易に作成できるスクリプト言語およびその実行環境であり,現在数多くのWebサーバーで利用されている。 今回のPHP 5.2.0は,5.x系列のメジャー改良版。Zendエンジンのための新しいメモリー管理の導入や入力フィルタリングの拡張機能の追加(およびデフォルトでの有効)など,多数の機能拡張が図られている。 加えて,パフォーマンスの改善やバグおよびセキュリティ・ホールの修正,セキュリティの強化なども行われている。このため開発チームでは,すべてのPHPユーザーに対して,特にPHP 5の初期バージョンのユーザーに対して,できるだけ早急に5.2.0にアップ

    PHP 5.2.0がリリース,「200件を超えるバグを修正,早急にアップグレードを」
  • 「急速に進化するPHPフレームワーク」---PHPカンファレンス2006より

    PHPのフレームワークは急速に進化している」---2006年8月19日,PHPカンファレンス2006が開催された。PHPカンファレンス2006は,日PHPユーザ会が主催する,PHPに関する日最大のイベントである。カンファレンスではPHPのパッチの作成やPEARへのライブラリ登録の体験談,フレームワークやAjaxなどの新技術に関する最新動向,デザイナとプログラマの協業に関する講演などが行われた。PHPのアーキテクトの一人であるZend Technologies CTO Zeev Suraski氏も登場し,PHPの今後の方向性に関して講演した。 日PHPユーザ会 廣川類氏は「PHPの今とこれから2006: PHPの最新事情」と題して,PHPと日PHPユーザ会の歩みを振り返るとともに,今後のPHPの進化の方向を概観した。廣川氏は2000年に100万程度だったPHPをインストールしたドメ

    「急速に進化するPHPフレームワーク」---PHPカンファレンス2006より
  • 【PHPカンファレンス2006】PHPで書かれた実際のアプリケーションに潜む危険なコード

    「(PHPで書かれたアプリケーションには)アバウトなコードが多い」。エレクトロニック・サービス・イニシアチブの大垣靖男社長は,2006年8月19日に開催されたPHP関連イベント「PHPカンファレンス2006」の講演「危険なコード」で,PHPで書かれたアプリケーションに存在する危険なコードを指摘した。講演の中では,実際に存在するアプリケーションの名前を出し,そのソースコードからセキュリティ上危険な個所を挙げていった。「安全なコードを書くには悪い例も知っておかなければならない」というのが同氏の主張である。 大垣氏はまず,「セキュリティのリスクはサブシステムとの境界の部分で発生する」と指摘した。サブシステムとは,データベース,メール・システム,ユーザーのWebブラウザといった外部のシステムのこと。「境界で入力時にきちんとバリデーション,出力時にきちんとエスケープ処理(フィルタリング)を行えば,か

    【PHPカンファレンス2006】PHPで書かれた実際のアプリケーションに潜む危険なコード
    jtanaka
    jtanaka 2006/08/22
    [][@otsune]
  • 1