タグ

phpに関するbutyricacidのブックマーク (23)

  • PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記

    メルセンヌ・ツイスターと似て非なるアルゴリズムが実装されていたことが発覚して話題の PHP の mt_rand 関数の品質を統計的に検証しました.果たして,PHP の「壊れた」mt_rand は安心して使うことができるのでしょうか……? ちなみに,結論から言うと,PHP の壊れた mt_rand は,(少なくともこのテストの範囲では)家メルセンヌ・ツイスターと遜色ない品質を持っているようです.ただし,最後に PHP の乱数の別の懸念点についても紹介します. 壊れた mt_rand とは PHP の mt_rand は,ドキュメントによると,有名な乱数生成アルゴリズム「メルセンヌ・ツイスター」を利用して高品質の乱数を生成する関数です.ところが,どうやら一部では知られていたこととして,PHP の mt_rand の実装にはバグがあり,家メルセンヌ・ツイスターと挙動が一致していませんでした.

    PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記
  • Javaで書かれたPHP処理系のJPHPが高速だった - hnwの日記

    JPHPというJavaで書かれたPHP処理系があります。これは2013年10月にはじまった新しいプロジェクトで、大半をメイン開発者一人で開発しているようですが、既に一定以上の完成度です。また、内部的にはPHPファイルを解釈して直接Javaバイトコードにコンパイルしており、かなり高速なPHP処理系になっています。 他のPHP処理系と異なり、既存のPHPコードをWebサーバ上で動かすことを重視していないようにも見えますが、興味深いプロジェクトですので紹介します。 JPHPを動かしてみる さっそくJPHPを試してみましょう。現時点ではGitHubからソースコードを持ってきてビルドする必要があります。JDK7以上が必要ですので注意してください。JPHPのドキュメント「Getting Started」の通り、次のようにしてJPHPがビルドできます。 $ git clone https://githu

    Javaで書かれたPHP処理系のJPHPが高速だった - hnwの日記
  • Javaで実装されたPHPの実行環境Quercusのポテンシャルが高すぎる件 | nagaseyasuhito Daily works.

    [snap url=http://quercus.caucho.com/]グリーで働き始めてはや2週間、社員の年齢層が比較的若いせいか、陽気な人が多く楽しく過ごしております。 Bootcampと呼ばれる実装研修ではEthnaを始めとしたPHPのフレームワークでキャッキャウフフしています。 PHPまみれの毎日ですが、意外なところでRubyやnode.jsが使われていたりHaskell使おうみたいな話もあったりと、環境やアーキテクチャによって様々な言語が使われているようです。 Java大好き人間としてはJavaでなんかやったるしかないだろう、ということで個人的な実験ですがJavaで実装されたPHPの実行環境Quercusを使ってみたところ、あまりにハイパフォーマンスでビビったので皆様にご紹介です。 Quercusってなんぞ Quercus(くえるかす)はRasinというアプリケーションサーバー

  • PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ

    この投稿はPHP Advent Calendar 2013の12日目の記事です。 PHP恒例行事の参照と三項演算子のdisりですが、そろそろあさってな議論はやめませんかという話です。 今年のPHP-dis大賞といえばこちら。 PHPとかいう糞言語|いんまのブログ ※ 追記: これ書かれたのは2012年でしたすんません。 なんで君たちそんなコードが必要なのかね、と。結論から先言うと、きみたちがPHPが使えないって思うのは、そんな挙動に左右されるようなコードを書くからでしょ、だからCとかRubyとかそういう簡単な言語でわかった気になっている初心者はまったくもう...というわけでPHPの言語文法の基礎んとこ、いきますね。 まず、PHPのarrayは「値」です。もちろん文字列も「値」です。値は値なんだけど、それはミュータブルです。PHPのarrayもしくは文字列の代入は、一見すると、ポインタを使わ

    PHPが糞言語なのはどう考えても参照をポインタだと思っているお前らが悪い - なんたらノート第三期ベータ
  • PHPのJSONのエスケープ

    (Last Updated On: 2023年12月8日) 追記:最近のOWASPガイドの更新でJavaScript文字列はUnicodeエンコードで安全性を確保するよう変更されました。元々このブログでもUnicodeエスケープのまま利用するように書いています。他の言語のユーザーはUnicodeエスケープを利用しましょう。PHPもASCII領域の文字をUnicodeエスケープするようにした方が良いと思います。これは提案して実現するように努力します。 JSONはJavaScriptのオブジェクトや配列を表現する方式でRFC 4627で定義されています。メディアタイプはapplication/json、ファイル拡張子はjsonと定義されています。 PHPにJSON形式のデータに変換するjson_encode関数とjson_decode関数をサポートしています。 JSON関数がサポートされている

    PHPのJSONのエスケープ
  • PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記

    PHPerの問題点はPHPしか知らずに的外れなことを言うことだ」と、Javaしか知らなくて的外れなことを言っている連中にすら言われちゃってるPHPerのみなさん、こんにちは。 PHPは「使える道具」であることは事実です。しかし同時に言語仕様がウンコなのも事実。 ここでは、個人的にウンコだと思っているPHPの仕様を挙げてみたよ! htmlspecialchars() の名前が長すぎる これはほんとウンコ。おまえWebアプリのための言語やろが!なんでこの関数の名前がこんなに長いねん!こんだけ長かったらめんどくさがって echo $var としてまうやろが!WordPressのthemeでHTMLエスケープ忘れが多いのはおまえの名前が長すぎるせいだ! そんなわけで、全PHPerはこんな関数を定義するといいと思うよ。 ## echo $var; よりも短く h($var); と書ける! func

    PHPの言語仕様がウンコな理由個人的トップ10 - kなんとかの日記
  • 【レビュー】ある意味CMSの理想型かも。『Concrete5』を試す! (1) 物足りなさを解消したCMS「Concrete5」 | ネット | マイコミジャーナル

    いま評判の"編集しやすい"CMS『Concrete5』とは? あなたは「Concrete5」を知っていますか? CMS(コンテンツ マネジメント システム)というと、大きく分けて3つくらいに分類される。ひとつは昔からのCMSで、PHPNuke/ Xoops/ Mambo/ Ploneなどが存在する。もうひとつはブログエンジンで、WordPress/ Movable Type/ Nucleusなどだ。そして最後にWikiエンジンだ。Yukiwiki/ Pukiwiki/ DokuWiki/ MediaWikiなどが挙げられる。Wikiを除くCMSに共通するのは公開画面とコンテンツ管理画面が分かれているということだ。ユーザの権限によって管理者とサイト利用者の画面が分かれ、管理者は管理画面にログイン後、サイトのコンテンツ編集・デザイン変更・モジュール追加などを行なう。Wikiの場合は共同編集が基

  • PHP/脆弱性リスト/メモ - yohgaki's wiki

    なんだかやけに長い説明ばかり検索に引っかかったので書きました。 Linuxのローカル環境でDockerコンテナ内のXアプリ(GUIアプリ)を利用するには $ xhost localhost + を実行した後に $ docker run --rm --net host -e "DISPLAY" container_image_name x_app_binary_path とすれば良いです。 もっと読む SSHなどよく知られたサービスポートで何も対策せずにいると数えきらないくらいの攻撃リクエストが来ます。不必要なログを増やしてリソースを無駄にし、もし不用意なユーザーやシステムがあると攻撃に成功する場合もあります。 SshguardはC作られており、flex/bisonのパーサールールを足せば拡張できますがカスタム版をメンテナンスするのも面倒です。必要なルールを足してプルリクエストを送ってもマー

    PHP/脆弱性リスト/メモ - yohgaki's wiki
  • はてなブログ | 無料ブログを作成しよう

    来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…

    はてなブログ | 無料ブログを作成しよう
  • 文系素人ですがPHP勉強始めました。 | Kousyoublog

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

  • LAMPのPをPHPからPerl/Python/Rubyに替えるだけではセキュリティは向上しない証拠

    (Last Updated On: 2008年4月3日)誤解を招く記事 – LAMPセキュリティを強化する4つの方法で紹介した記事ように、最近「言語を替えるとセキュリティが向上する」といった間違った認識が広まりつつあるように思えます。 結論からいうと、セキュリティに関連する機能が同等な言語であれば「言語を替えるとセキュリティが向上するいう考え」は妄想です。言語を替えても、正しいセキュリティ知識を持ち合わせた開発者が開発しないと、危ないアプリケーションが簡単に作れます。 ちょうど良い証拠となるPloneのCVEエントリが公開されています。PloneはPythonで記述されたCMSです。私も利用したことがありますが、なかなかよくできているCMSです。出来立てのCMSではなく何年も前から実用されています。フレームワークとしてPythonのWebシステムよく利用されているZopeを利用しています。

    LAMPのPをPHPからPerl/Python/Rubyに替えるだけではセキュリティは向上しない証拠
    butyricacid
    butyricacid 2008/03/21
    コメント欄もあわせて
  • はてなブログ | 無料ブログを作成しよう

    仲春はゆっくりと通り過ぎる 寝て起きたら3月である。今日の東京の最高気温は20度を超えている。正月のインフルエンザが完治して、これでやっと健康で文化的な年度を始められるぞ、と意気込んだのも束の間、今度は原因不明の高熱を出して1週間寝込んだ。 脳がグツグツ煮える音が聴こえそうなほど…

    はてなブログ | 無料ブログを作成しよう
  • 株式会社 社会式株 PHPコーディング規約

  • IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第1章 総論:より良いWebアプリケーション設計のヒント

    ここで述べるのは、脆弱性が生まれにくいWebアプリケーションを構築するために設計段階、あるいはそれ以前の段階で考慮しておくとよい事項の例である。 (1) 開発環境の選択 1) プログラマが脆弱性をつくり易い環境を避ける 今日のWEBアプリケーション開発環境は、プログラミング言語の処理系に加えて、開発フレームワークやコンテンツ管理システム(CMS)、さらに外部のテンプレート言語までを加えた総合的な環境となってきている。 短時日で素早くサイトを立ち上げることを目的として、「軽量言語」と呼ばれる各種スクリプト言語が標準で備えているWEBアプリケーションを手軽に開発するための機能やライブラリをそのまま利用することは悪くない。しかし、その手軽さ故に、セキュリティの観点からは多くの脆弱性を生んできた経緯がある。 例えば、下記の事例が挙げられる。 PHPの4.1以前のバージョンの環境は、「registe

  • 今も新規開発され続けるPHP 4アプリケーション - ockeghem's blog

    この日記をご覧の方には先刻ご承知のことだろうが、去る7月13日に、PHP 4のEOL(End Of Life)アナウンスが公式に宣言された*1。 これによると、PHP 4のメンテナンスは2007年12月31日まで、重大なセキュリティホールへの対応も2008年8月8日までとなっている。このため、既存の膨大なPHP 4アプリケーションのマイグレーションをどうするかは大きな課題である。 ここまでは皆さんご存知の情報であろう。 しかし、PHP 4アプリケーションは今も開発され続けている。私がそれを知ったのは、Webアプリケーションの脆弱性診断をしているからである。診断にてPHPなどの脆弱性を発見した場合はこれまでも都度報告していたが、2007年7月13日以降は、PHP 4を使っているだけでも、(脆弱性ではないが)上記情報を報告し、PHP 5への移行を推奨してきた。そういうレポートを書く際には、「き

    今も新規開発され続けるPHP 4アプリケーション - ockeghem's blog
  • PHPで作られた3キャリア対応絵文字変換ライブラリ「MobilePictogramConverter」:phpspot開発日誌

    PHPで作られた3キャリア対応絵文字変換ライブラリ「MobilePictogramConverter」 2007年11月17日- 追記: MobilePictogramConverter は公開が停止されており、速度も低速なのでHTML_Emojiを使いましょう PHPで作られた3キャリア対応絵文字変換ライブラリ「MobilePictogramConverter」 今回は、「MobilePictogramConverter」という、PHPで作られた3キャリア対応の絵文字変換ライブラリをご紹介します。 PHPで作られた3キャリア対応絵文字変換ライブラリ「MobilePictogramConverter」 次のような特徴があるそうです。 DoCoMo, au, SoftBankの絵文字を相互変換可能 端末からサーバーへ送信された絵文字の変換が可能(掲示板など) SJIS/UTF-8に対応 PC

  • 狐の王国 PHPが嫌われながら生き残る3つの理由

    #1 PHPが嫌われながら生き残る3つの理由 phpspotのひどい正規表現サンプル記事に対するはてブの反応 を見て、「PHPは生き残る」ことを確信にまで深めた。しかし、ただ生き残るのではない。嫌われながら生き残るのだ。その理由を書いてみよう。 @ 1. PHPは簡単に書けてきれいに書けない: これは多くのPHPプログラマが実感しているだろう。PHPはさくさくと書ける一方、メンテナンスを考慮してきれいに書こうと思うとなかなかきれいに書けたものではない。Perlほど柔軟な構文でもなく、Rubyほどきれいな構文でもない。PHPを嫌う理由の筆頭にあがってもいい項目である。だがとりあえず書けば動く。これは大きい。 @ 2. PHPの実装はひどいがとりあえず動く: バージョンごとに仕様がごろごろ変わる、セキュリティホールだらけ等々。とにかくひどいものである。それでもPHPは速いと信じてる人もいる

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • ウノウラボ Unoh Labs: 携帯サイト作成のためにも使えるPHPのライブラリ

    harukiです。 携帯サイト作成の際に使えるPHPのライブラリを知っているだけ羅列してみます。 Net_UserAgent_Mobile 基となるライブラリです。機種判定など、様々な用途に使用します。 細かい情報については、スクレイピングなどをしたりして自前で用意する必要があります。 PEAR::Mail メールの送信に使用できます。 特殊な送信の際は、Mail::factory()にsmtpで使用することになりますが、キャリアの迷惑メールの設定にも気をつける必要があります。 Mail_mime_Decomail (Y-110's Wiki) Mail_mimeと同じ使い方で、デコメール送信用にMIMEを組み立てることができるのでとても便利です。 Mail_mimeDecode 空メール・エラーメールなどを受け取って解析する際に使用します。 解析の際には、Mail_RFC822:

  • ウノウラボ Unoh Labs: PHP標準の機能(だけ)でウェブサイトのサムネイルを作る

    ではまず試しにInternet Explorerのウィンドウをキャプチャーして、そのサムネイル(ここでは160×120ピクセル)を表示してみましょう。PHPからIEを操作するにはCOMを使用します。 <?php $url = 'お好みのURLをどーぞ'; if (!extension_loaded('gd')) { exit('GD library is not loaded.'); } elseif (!function_exists('imagegrabwindow')) { exit('Function imageGrabWindow is not exist.'); } try { $ie = new COM('InternetExplorer.Application'); $handle = $ie->HWND; $ie->Width = 800; $ie->Height = 6