X

PHP

関数の戻り値と定数値(リテラル)への参照

追記:このエントリへのアクセスが多いので加筆修正しました。 Fatal error: Only variables can be passed by reference 直訳すると「致命的エラー:変数のみ参照渡しが可能です」となります。エラーメッセージの通りvariable(以外)の値は参照として渡せないのでエラーになっています。エラーメッセージが適切かどう…

allow_url_fopen

追記: 現在のPHPではリモートファイル読み込みを制御するphp.ini設定としてallow_url_fopen(URL等のファイルとして読み込むフラグ)とallow_url_include(URLなどをPHPスクリプトとして読み込むフラグ)があります。php://input(標準入力用のURL。Webアプリの場合、POSTリクエストなどが読み込める)もal…

php-rast

Rastとはネットワーク応用通信研究所が開発している全文検索システムです。 本ソフトウェアは,あらかじめ対象となる文書群から検索に必要な情報を格納するデータベースを作成しておき,それに対して検索を行う全文検索システムです. 検索方式は N-gram 方式や分かち書き方式から選べます.また,必要に応じて文字列処理モジュールを差し替えることができます. なお,本…

_php_stream_passthru

php-usersのMLに投稿した内容の補足です。コードはPHP 4.4の開発ブランチのソースです。 main/stream.cに_php_stream_passthru関数が定義されています。reafile関数(ファイルの中身を全て出力)、fpassthru関数(ファイルリソースの中身を全て出力)に利用されています。 PHPAPI size_t _php_…

DokuWiki

久しぶりにmadwifiの設定をしようとmadwifiのページを見てみると見慣れないWikiを使っていたのでどんなWikiかさらっと見てみました。インストールやソースを読んでいないので見てみた感想です。 基本的なWiki機能はそろっているようです。ページの場所 "top>a page>another page"の様に表示されるのも便利です。ログインとユーザ登…

PHP4でpublic

PHP本家の開発ML internals@lists.php.net ではPHP4でpublic宣言を行えるようにするかどうかで盛り上がっています。 PHP5を使っている方はご存知の通り、PHP5からオブジェクトのプロパティはpublic, protected, privateにアクセスレベルを限定できるようになりました。それと同時に古いプロパティ宣言である…

S2PHP5

S2PHP5は名前の通りPHP5専用のフレームワークだそうです。 説明 Java版のSeasar2を、PHP5に移植します。  マイルストーン M1: Java版Seasar2をPHP化する (バージョン 0.9x) パッケージ構成やインタフェースを統一し、Javaのソースをできるだけ変更することなくPHP5に書き換えます。 M2: PHPらしくリファクタリ…

Serendipity – PHP Blog System

Blogツールの選択肢は多すぎてどれを選べば良いか迷う程ですがSerendipityというPHPで記述されたBlogシステムを知りました。 WYSIWYG HTMLエディタも利用できたり、全てのRSSとATOMに対応、イメージのリサイズサポート等、割と良くできていると思います。PHP5ならSQLiteをデータベースとして利用できるのでDBサーバ無しでも利用で…

PHP 5.1でgoto!?

なんだかPHP 4.4ブランチが出来たりして??と思っていたところ「goto文をPHP 5.1で!」と言う事でinternals@lists.php.netが盛り上がっています。 goto文が無くて困ることは無いのですが、あって困る事は沢山あります。自分だけがコードを書くわけではありませんしgoto文の乱用は簡単です。しかし、今まで無くて困らなかったのに何故…

PHPとICU

http://www.gravitonic.com/downloads/talks/intlphpcon2005/php_unicode.pdf メモ。PHPのI18Nの話。 前半はUnicode等の説明。

session_regenerate_id()

前にこの関数の仕様はちょっと... と書いたのですがPHP 5.1から普通の関数になります。 # セッションデータも削除できるようになります。 - Added an optional remove old session parameter to session_regenerate_id()

allow_url_fopenは無効に設定

Webサイト構築で注意しなければならない箇所は決まりきっています。PHPのiniオプションでかなり危険な設定ですがデフォルトで有効かつシステムレベルでのみ設定変更可能なiniディレクティブ、allow_url_fopenがその内の一つです。 このオプションが有効な場合、ほとんど全てのファイル関数でローカルファイル以外にURL(HTTP、FTP)を利用しリモー…

PHPに足りないもの

よく「中規模以上のプロジェクトにPHPは向かない」と聞きますがJavaに比べると確かにその通りです。Beanなんて考え方は無いですし「JCPで作られた数々の標準に対応するような物がない」と言われても仕方ない状況です。言語仕様についても結構アバウトで微妙な仕様が突然変わったりします。 # 最近では5.0.3でコンストラクタをprivateで宣言できなくなった件…

session_regenerate_idの使い方に注意!

久しぶりにPHP-users MLを見るとsession_regenerate_id関数が「古いセッションIDに関連したセッション情報を削除しないのは困るよね」と投稿がありました。 バグレポートではBogus(バグじゃない)というステータスになっていました。確かにsession_regenerate_id関数は新しいセッションIDを生成する為の関数として追加…

phpbbにまたセキュリティーホール…

セキュリティホールの指摘は良いことですが、パッチする前はルール違反ですね... 内容をよく確認していませんがクロスサイトスクリプティングの様です。Low Riskという認識にも問題があるかと... いろいろ異論があるとは思いますがクロスサイトスクリプティングのリスクは中程度とするべきと考えています。アカウントの乗っ取りが可能なリスクですから。phpbbは何年…