Webアプリケーションが攻撃者に付け込まれる脆弱性の多くは、設計者や開発者のレベルで排除することができます。実装に忙しい方も、最近よく狙われる脆弱性のトップ10を知ることで手っ取り早く概要を知り、開発の際にその存在を意識してセキュアなWebアプリケーションにしていただければ幸いです。 Webの世界を脅かす脆弱性を順位付け OWASP(Open Web ApplicationSecurity Project)は、主にWebアプリケーションのセキュリティ向上を目的としたコミュニティで、そこでの調査や開発の成果物を誰でも利用できるように公開しています。 その中の「OWASPTop Ten Project」というプロジェクトでは、年に1回Webアプリケーションの脆弱性トップ10を掲載しています。2004年版は日本語を含む各国語版が提供されていますが、2007年版は現在のところ英語版のみが提供さ

平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。本件に関するお問い合わせはこちらよりお願いいたします。
PHP snippets 使えるPHP等のコードスニペット(配列をランダマイズ,16進カラーを反転など)が一杯のサイト 16進カラーを反転 2つの文字列の類似性を調べる 配列をランダマイズ ディレクトリパスをノーマライズ array_walk のデバッグ例 配列の空エントリ削除 バイナリファイルをテキスト形式のPHPコードに変換 ディレクトリのリカーシブ処理 FTPでファイルアップロード HexをRGB値に変換PHPでMingの使用例 などなど(ほかにも) その他、当ブログで紹介した便利なPHP機能スニペット集などPHPとMecabでキーワード自動リンクを実装PHPを使ってたった2行で絵文字を取り除く方法PHPで絵文字を壊さずに文字コードや全角半角変換を行う方法PHPやPerlでQRコードを超簡単に作れるサンプルスクリプト CDドライブを開ける等、Windows上で動作する面白&
Index of /projects/phpThumbnailerPHPで画像のサムネイルを超簡単に作る方法「phpThumbnailer」PHP+GDな画像のサムネイル作成って結構面倒だったりしますが、配布されているThumbnail クラスを使えば超簡単にサムネイルが作れます。 配布パッケージ内に、class.Thumbnail.phpが含まれていて、次のようなサンプルプログラムで簡単に画像のサムネイルを生成できます。 <?php include("class.Thumbnail.php"); $tn_image = new Thumbnail("sample.jpg", 300, 300, 0); $tn_image->show(); ?> プログラムでは、sample.jpg のサムネイルを 最大幅 300px, 最大高さ 300px のサイズで作成し、画面に出力します。 Th
滝沢カレンは整形をしていないナチュラル美人だと判明!証拠写真63枚でデビューから2023年まで検証してみた。

GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠
PEAR :: PEPr :: Details ::HTML_TagCloud pearのProposalにタグクラウド生成用のライブラリが出ていました。PerlのHTML-TagCloud-ExtendedをPHPに移植されたそうです。 その使い方とサンプルを紹介。 まず、インストール pear install http://catbot.net/src/HTML_TagCloud-0.0.1.tgzHTML_TagCloudのサンプルプログラム <?php require_once('HTML/TagCloud.php'); $obj = new HTML_TagCloud(); $obj->addElement('php', 'http://s.phpspot.org/tag/php', 10); $obj->addElement('css', 'http://s.phpspo
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

PHP で汎用的なライブラリを作成するフレームワークには大きく分けて2種類あるようです。 ひとつは PEAR のようにPHP でクラスライブラリを作る方法、もう一つが今回紹介する PECL の様にPHP 自体を拡張するモジュールを書く方法です。 なぜPHP Extension ? ひとつは、過去に C で書かれた既存のライブラリを流用したい場合にPHP Extension を作成すれば自然にPHP のコードに結合することが出来ます。また、PEAR の様にPHP で書いたコードと比べると若干高速になります。 それでは実際に helloworld という名前のPHP Extension を作成してみましょう。PHP のソースを展開するとphp-x.x.x/ext というディレクトリがありますので $ cdphp-x.x.x/ext $ ./ext_skel --extname

Five Things You Didn't Know You Could Do withPHP So, if you haven't caught all the new additions or discovered every useful function, start by checking out this list of the Five Things You Didn't Know You Could Do withPHP! あなたが知らなかったPHPのテクニック集。 もう大体のことは分かっていたと思っていても知らないことって結構あるものですね。 1.switchの使い方 「あまり知られていないPHPの構文について」で触れましたが、switchのcaseでは条件式が使えます。 次のように書けて、if で書くよりも可読性がグッと上がる感じでしょうか。 <?php swi
PHP Best Practices - Common solutions toPHPprogramming issues Thisguide is meant to give you solutions to commonPHP design problems.PHPプログラミングに関するベストプラクティスがまとまっていました。 以下にダイジェストをまとめますPHP開始タグには <?php のみ使い、<?=や<%のようなタグは使用しないDB接続設定、メールアドレス、デバッグスイッチ、アプリケーション定数などの設定は1つのファイルにまとめる グローバル関数は使わず、できるだけクラスに閉じ込める。グローバル関数を使う場合は、プレフィクスを付ける。 データベース抽象レイヤを使い、MySQL用関数などは使わない 値を格納するValue Objectを使おう class Person
(2012/11/01追記) 4年ほど前の記事「PHP5.3.0alpha3のround関数の実装がPHP5.2.6と変わった - hnwの日記」でお伝えした通り、PHP 5.3.0から別の実装が採用されており、本ページで指摘しているような挙動のPHPは既に絶滅危惧種です。念のため。 さて、プログラミングの話題もたまには書いてみます。今回はPHPのround関数の挙動が変だ!という話題です。 round()は浮動小数点数を四捨五入する関数で、大抵の言語に同じ名前で実装されているかと思います。ではPHPのround関数の何が問題なのか、ちょっと試してみましょう。 $ uname -sroLinux 2.6.9-42.0.10.plus.c4smp GNU/Linux $php --versionPHP 5.1.6 (cli) (built: Feb 23 2007 06:56:38)
The Developer Cheat Sheet Compilation by FuzzyOpinions.com SubVersionやRMDB、他各種プログラミング用チートシート集。 気になったものをいくつかメモ。CSS 2 Reference Card (PDF)CSS Useful Properties .htaccess Cheat Sheet Subversion Quick Reference (PDF) UML Quick Reference Card (PDF)Vim Commands Cheat Sheet XEmacs Commands Cheat Sheet 関連エントリ Prototype.js 1.5.0 のチートシート 1ページに情報が集約されたCSSチートシート「CSS Cheat Sheet」 Ajax,Apache,CSS,CVS,HTML,JS
初心者プログラマにたいして「これは読むべき」だと思うコードを教えてください。 プログラムの勉強の際に良質なコードを読むをおすすめされたのですが、どのコードを読めばいいのかわかりません。参考になるコードやライブラリがありましたら教えていただけるとうれしいです。とりあえず、PHP中心でお願いしたいです。
今回は熟練したWebアプリ開発者なら常識のクロスサイトスクリプティング対策の落とし穴を紹介します。JavaScriptを排除しているつもりで排除に失敗?! 最近はSanitize(サニタイズ)という言葉の代わりにValidation(検証)という言葉をよく聞くようになったと思います。Sanitizeの意味を辞書で調べると「汚れている物をきれいにすること」とされています。この意味の通り汚れた変数をきれいにして使えば安全に利用できるとする考え方に基づくのがサニタイズ手法です。典型的な例は、「テキストを出力する前に"<"と">"を取り除く」方法があります。 例1 "<"と">"をereg_replaceで取り除く $safe_text = ereg_replace($_GET['text'], '[<>]', ''); この$safe_textを <a href="/script.php?t
PHPのクラスに備わっているstaticはJava(Servlet)のそれとは違いHTTPのリクエストが完了すると破棄されてしまいます。 そのためstaticフィールドを使ったシングルトンの実装を行ったとしてもリクエストがある度にインスタンスが生成され独立したプロセスから同一のインスタンスにアクセスすることは不可能です。 そこで今回memcachedを利用しPHPの各プロセスから同一のインスタンスを参照できるようにしてみたいと思います。 といってもシリアライズさせているので厳密には別のインスタンスになりますが…。 ちなみにmemcachedとはオブジェクトをメモリにキャッシュさせるPHPとは独立したサーバプログラムです。 利用できる言語はPHPだけに限らずPerl、Ruby、Java、Pythonなどにも対応しています。 インストールは./configure && make &
Webアプリから2行でExcelファイルを出力する方法 WebアプリからExcel や Word のファイルをたった2行で生成する方法です。 この方法を使えば、Spreadsheet::WriteExcel/ParseExcel などを使わずに、かつどんな環境のどんな言語で記述されているWebアプリケーションでも、Excel文章を出力できます。厳密に言うと、「ExcelやWordでも開けるファイル」なんですけどね(^^; はじめて教えてもらった時に、感動というか拍子抜けしたので、みなさんも同じ気持ちを味わって下さい(^^ もったいぶって背景から。 会社にお勤めのみなさんには共感していただけると思いますが、世の中にはすべての作業を Office系アプリで行う方がいらっしゃいます。そういう方が「今後○○のデータはサーバで管理しよう」などとおっしゃりはじめたら、「お、どんなシステムだ?」と期待
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く