タグ

PHPに関するhat_teejayのブックマーク (57)

  • PHP と Web アプリケーションのセキュリティについてのメモ

    このページについての説明・注意など PHP は、Apache モジュールや、CGI、コマンドラインとして使用できるスクリプト言語です。このページでは、主に PHP における、Web アプリケーションのセキュリティ問題についてまとめています。 Web アプリケーションのセキュリティ問題としては、以下の問題についてよく取り挙げられていると思いますが、これらのセキュリティ問題について調べたことや、これら以外でも、PHP に関連しているセキュリティ問題について知っていることについてメモしておきます。 クロスサイトスクリプティング SQL インジェクション パス・トラバーサル(ディレクトリ・トラバーサル) セッションハイジャック コマンドインジェクション また、PHP マニュアル : セキュリティや、PHP Security Guide (PHP Security Consortium) には、PH

  • PHP: 公開鍵と秘密鍵でデータ通信(OpenSSL) - KEINOSの日記(旧ブログ)

    この記事は次のブログに引っ越しました。 https://blog.keinos.com/20090602_788お客さんに提供しているWEBサービスのサーバと、メンテナンス用のサーバ間でデータ同期をRESTで行う必要が出てきた。その際のデータ転送量は少ないものの、ちょいとしたお客さんデータが含まれる可能性が出てきたため、公開鍵・秘密鍵で手軽に暗号化してやりとりをしたかったが、OpenSSL+PHPのまとまった資料がなかなか無い。そこで、自分の整理も含めて、PHPで公開鍵と秘密鍵を利用した暗号化に関する簡易記事を作成してみました。実際のスクリプトはこちら(128バイト以上のデータを扱えない問題にも対応しています)。 秘密鍵暗号方式(公開鍵・秘密鍵)の基的な概念 公開鍵と秘密鍵のペアで動作する。公開鍵・秘密鍵のいずれか片方の鍵でロックをかけた(暗号化した)ものは、もう片方の鍵でないとアンロッ

    PHP: 公開鍵と秘密鍵でデータ通信(OpenSSL) - KEINOSの日記(旧ブログ)
  • EllisLab

    After 17 years in business, EllisLab is shutting its doors. Rest assured, ExpressionEngine is alive and well. Thank you all!

  • EllisLab

    After 17 years in business, EllisLab is shutting its doors. Rest assured, ExpressionEngine is alive and well. Thank you all!

    hat_teejay
    hat_teejay 2013/10/04
    ライセンス問題でやんなったのかな?
  • CodeIgniter のライセンス変更問題のタイムライン - A Day in Serenity @ kenjis

    [2014/10/29 追記] CodeIgniter 3.0 は MIT ライセンスでリリースされることになりました! 詳細。 [2013/11/13 追記] OSL については、CodeIgniter3のライセンス問題に対する意見書公開 – ねこげっとぷれす も参照ください。 少し混乱がみられるようですので、この件に関して、整理するために主な出来事を時系列でまとめてみました。 リンク先を読んでいけば、この件の推移がかなり正確にわかると思います。 なお、この件について日語での情報がもっとも多いのは、日 CodeIgniter ユーザ会のメーリングリスト です。 日時 タイムゾーン 出来事 2011/10/20 09:00〜09:45 New York EllisLab の CEO である Leslie Camacho 氏が ExpressionEngine & CodeIgniter

    CodeIgniter のライセンス変更問題のタイムライン - A Day in Serenity @ kenjis
  • phpとmcrypt - rougeref’s diary

    phpをmcrypt対応にして欲しいと言う要望。phpのマニュアルにしたがい、libmcryptをインストール後、phpをconfigure,make。 まずlibmcryptをインストール。libmcryptのブツはここにあります。phpのインストール手順によると、 --disable-posix-threads をつけてconfigureしてmakeしろってことなので以下の通りに。 $ /usr/local/bin/tar -zxvf libmcrypt-2.5.8.tar.gz $ cd libmcrypt-2.5.8 $ ./configure --disable-posix-threads # /usr/local/bin/make installつづいて、php側も再configure。 $ ./configure (中略) --with-mcrypt=/usr/local $

    phpとmcrypt - rougeref’s diary
  • いまどきのPHP開発ノウハウを詰め込んだ『PHPエンジニア養成読本』が出るので、見所をまとめてみるよ

    いまどきのPHP開発ノウハウを詰め込んだ『PHPエンジニア養成読』が出るので、見所をまとめてみるよ 2013年08月27日 13:02PHP このに記事を書きました。9月13日発売予定です。 Amazon.co.jp PHPエンジニア養成読 こんな内容 以下の項目のどれかにピンと来る人と、 いまいちピンと来ないという人のためのです。 PHP最前線 PHPの最新動向 いまどきPHP開発技法入門 [最新]ライブラリ&フレームワーク活用の基礎知識 [新定番]Composerの基礎と活用 フレームワークを当に使いこなすための考え方 Symfony活用のポイント FuelPHP活用のポイント CakePHP活用のポイント 注目フレームワーク総ざらい 現場で役立つ PHPエンジニアの開発術 PHPUnitではじめる自動テスト Gitでばっちりソースコード管理 いまさら聞けない「公開鍵認証」

    いまどきのPHP開発ノウハウを詰め込んだ『PHPエンジニア養成読本』が出るので、見所をまとめてみるよ
  • PHPerのためのJenkins

    序文 ソフトウェア開発とはままならないものだ。そもそも開発と銘を打たれているにも関らず製造工程のような量的単位「工数」で管理しようとしているので致し方無いのかも知れない。そう、開発と言うからには「作ったことの無いものを作る」ということであるにも関わらず、 ・「何人がかりで何日で出来る?」と聞く ・「何日くらいですかね、やってみないと分からないけれど」と答える ・「分からないけれど」はとりあえず無視して、何日かの余分をとってスケジュールを作る そんなことをしていれば古典落語に出てくる「致し方ないけれど起こる残念な出来事」のようなオチにしかならないのは目に見えているのだが、これは現実によく有るやりとりである。しかし、これでもまだマシな部分も有る。少くとも作ろうとしてとしている人が「何日で出来そうか?」について答えているからだ。作ろうとしている人ではない人が当てずっぽうに答えてスケジュールが決ま

    hat_teejay
    hat_teejay 2013/08/02
    すかしたおっさんの顔を見ることが成功の証であるのは少し残念な気もするが大丈夫だ。
  • PHPでもHudson使うべし

    今までもPHP案件でCIはしているんだけど、環境にはCruiseControl+phpUnderControlという構成で、これももう古いなぁと思ったのでHudsonに移行してみた。 感触としては、PHP案件でもHudson使うべし、でいいんじゃないかな。 導入 今回導入した環境はCentOS5.3なので、rpmを使ってインストールできる。 sudo rpm --import http://hudson-ci.org/redhat/hudson-ci.org.key wget http://hudson-ci.org/latest/redhat/hudson.rpm rpm -Uvh hudson.rpm なお、当然のことだが、Hudsonを動作させるためにはJDKのインストールが必要なので、先にインストールしておく。 インストールが完了したら自動起動の設定をして、起動する。 /sbin/

    PHPでもHudson使うべし
  • FuelPHP ドキュメント

    FuelPHP へようこそ FuelPHP はシンプルで、フレキシブルな、コミュニティにより開発されている PHP 5 用の Web フレームワークです。現在のフレームワークに対する不満から産まれ、開発者のコミュニティからサポート、支持されています。 FuelPHP はとても移植性が高く、多くのサーバで動き、そして、とても綺麗な構文のフレームワークです。 クイックインストール もしあなたが今すぐに Fuel を試したいと思うなら、高速インストーラを使ってみてください。curl ライブラリを使用し、oil の必要最小限のバージョンをインストールできます。それから、Fuel の新しい完全なアプリケーションを作成できます。 # oil を Web からクイックインストールします $ curl get.fuelphp.com/oil | sh # oil が、たった今、インストールされました。Si

  • Eclipse で CodeIgniter のコード補完を行わせる冴えたやり方 - A Day in Serenity @ kenjis

    以前の記事 Eclipse で CodeIgniter 2.0 のコード補完 ですが、Eclipse(PDT) をバージョンアップしたためか、動作しなくなっていました。 コード補完できるコードを生成するコントローラを変更し、別の方法でやってみました。 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Eclipse extends CI_Controller { function __construct() { parent::__construct(); } function index() { $lines = array(); // libraries $_ci_varmap = array('loader' => 'load', 'unit_test' => 'unit'

    Eclipse で CodeIgniter のコード補完を行わせる冴えたやり方 - A Day in Serenity @ kenjis
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

  • PHP の $_SERVER['REQUEST_URI'] と parse_url() の予想外な動作について。 - こせきの技術日記

    REQUEST_URI と HTTP_HOST PHP のサーバ変数 $_SERVER['REQUEST_URI'] には、ふつうパスとクエリが設定される。 'REQUEST_URI' ページにアクセスするために指定された URI。例えば、 '/index.html' PHP: $_SERVER - Manual ただし、常にパスから始まると保証されているわけではない。以下のように、 GET に続けて絶対 URL を書いたリクエストを送ると、 GET http://localhost/test.php?query=value#fragment HTTP/1.1 Host: localhost $_SERVER['REQUEST_URI'] の値は、 http://localhost/test.php?query=value#fragmentになる。 ポイント: REQUEST_URI は

    PHP の $_SERVER['REQUEST_URI'] と parse_url() の予想外な動作について。 - こせきの技術日記
  • XSS脆弱性対策を極端に意識したPHP問い合わせフォーム構築例(正しいシリーズ) | WhiteHackerzBlog ハッカー養成学院 公式ブログ

    皆様から、安全なサイト構築の仕方についてお問合わせが多い為、学院としましてもここで技術公開に踏み切る運びとなりました。 XSS脆弱性対策を極端に意識したPHP問い合わせフォーム構築例 を公開致します(ソースのみ)。お勉強やビジネスにお役立て下さい。 <?php /** * 問い合わせフォーム * @author     DDm **/ //メール情報———————–——————————————– $shop_name         = “~七面鳥丸焼きのお店~【7men(しちめん)】”; $shop_mail         = “info@7men.jp“; $shop_mail_subject = “HPからのお問い合わせ”; $mail_subject      = “お問い合わせありがとう御座います。”; //—————————-————————————————

  • マッチするはずの正規表現がマッチしない現象 - T.Teradaの日記

    今日は、PHPでよく使用される正規表現エンジンであるPCRE(Perl Compatible Regular Expression)の、余り知られていない(と思う)制約について書きます。 プログラム 題材は下のPHPプログラムです。 <?php header('Content-Type: text/html; charset=latin1'); $url = $_REQUEST['url']; if (preg_match('/^(.*?):/s', $url, $match)) { $scheme = $match[1]; if ($scheme !== 'http' && $scheme !== 'https') { exit; } } echo '<a href="'. htmlspecialchars($url). '">link</a>'; 外部から受け取った「url」パラメータ

    マッチするはずの正規表現がマッチしない現象 - T.Teradaの日記
  • 【注意喚起】CodeIgniter 1.7.2 Formヘルパーの脆弱性 - A Day in Serenity @ kenjis

    (2011/04/11 追記) 当初記載されていた対策の修正および CodeIgniter 2.0.0 以降での対策を追記しました。 問題の所在 CodeIgniter の Formヘルパーにはフィールドの値を表示するための set_value() が用意されていますが、set_value() で同じフィールドを 2回目以上表示すると 2回目以降は文字参照に変換されず XSS脆弱性になる可能性があります。 確認ページで、入力値を表示し、隠しフィールドに値を埋め込み POST させるような実装の場合に、この脆弱性に該当します。 原因 CodeIgniter の Formヘルパーの form_prep() に問題があります。Formヘルパーは内部的に form_prep() を呼び出していますが、それが影響しています。 サンプルコード controllers/form.php <?php cl

    【注意喚起】CodeIgniter 1.7.2 Formヘルパーの脆弱性 - A Day in Serenity @ kenjis
    hat_teejay
    hat_teejay 2012/08/14
    CodeIgniterのFormヘルパーで脆弱性
  • PHPコーディングスタイル : CodeIgniter ユーザガイド 日本語版

    一般的なスタイルとシンタックス 以下のページではCodeIgniterを開発する際に守っているコーディングルールについて記述します。 目次 ファイルフォーマット PHPの囲みタグ クラス名、メソッド名 変数名 コメント 定数 TRUE、FALSE、NULL 論理演算子 返り値の比較、型のキャスト デバッグコード タブ/スペース 互換性 クラス名とファイル名を共通にする データベーステーブル名 1ファイル1クラス タブ/スペース 改行コード インデント カッコの前後のスペース コントロールパネル内のローカライズされたテキスト プライベートメソッド、プライベート変数 PHPエラー PHP短縮開始タグ 1行1ステートメント 文字列 SQL文 メソッド(関数)の引数のデフォルト値 タグパラメーターの上書き ファイルフォーマット ファイルはUnicode (UTF-8) エンコーディングで保存します