タグ

PHPに関するgeerpmのブックマーク (64)

  • anysense-devel  PHPから静的な画像ファイルを効率的に出力する方法

    サーバー上の静的なコンテンツをPHPなどの動的なスクリプトから出力したときがたまに有ります。 例えばログインしているユーザーにだけ画像を見せたい場合などです。 こういう時、一番簡単な方法は if($logged_in){ $filename = 'hoge.gif'; header('Content-Length: ' . filesize($filename)); header('Content-Disposition: attachment; filename='.basename($filename)); readfile($filename); } とする事です。 若しくは if($logged_in){ $filename = 'hoge.gif'; header('Content-Length: ' . filesize($filename)); header('Content

    geerpm
    geerpm 2009/07/22
    xsendfile
  • ハタさんのブログ : Q4MをPHP(PDO)で

    Q4Mが無事インストールできたので、PHPから触ってみる。詳細なことは今度書く。とりあえず触りだけでも テーブル定義 drop table if exists hoge_queue; create table hoge_queue( id int not null, name varchar(25) not null ) engine=queue; こんなスクリプトをガンガン回して、監視 $conn = new PDO('mysql:host=localhost; dbname=hogetest', 'user', 'password'); $wait = $conn->prepare('SELECT queue_wait("hoge_queue", 10)'); $abort = $conn->prepare('SELECT queue_abort()'); $e = $conn->pr

    geerpm
    geerpm 2009/03/27
    Q4M、メッセージキュー
  • デコメールまとめ

    Qdmailのデコメールに関する情報をまとめました。 Qdmailとは、PHPのマルチバイト環境(特に日語)にて、「文字化けしない」「簡単に"デコメ(デコメール)"やHTMLメール等の電子メールを送信することができる」メールクラスライブラリです。文字化け完全制覇を目指しています。 CakePHPのコンポーネントとしても動作可能です。 Qdmailの特徴(デコメ関連) PHP4,5の両方に対応 mail関数送信、SMTP送信の両方に対応 Dcomo,au,Softbank,イーモバイル,Willcomの各キャリアを自動判別して最適なデコメを送信 qd_send_mail()という関数型で簡単送信 プロにはオブジェクト指向型(OOP)の送信方法 詳しく設定できます。 easyメソッドで、中級者にも対応 デコメテンプレート相互変換機能 デコメテンプレート解析・送信機能(テンプレートの内容を解析

    デコメールまとめ
  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

    geerpm
    geerpm 2008/12/10
  • Build seven good object-oriented habits in PHP

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Build seven good object-oriented habits in PHP
    geerpm
    geerpm 2008/12/10
  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

    geerpm
    geerpm 2008/12/10
  • PHPでのセキュリティ対策についてのメモ - Liner Note

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Strict Session管理パッチ

    (Last Updated On: 2018年8月13日)Hardedned PHPプロジェクトのStefan EsserさんがPHP SESSIONをより安全に運用するパッチを公開しています。 このパッチはPHPのセッション管理の問題に対応します。PHPSESSIONモジュールがSession Fixation(セッションIDの固定化)に対して脆弱であることは随分前から広く(?)知られていました。このパッチを適用すればSession Fixation問題も随分改善します。 例えば、PHP SESSIONを利用しているサイトで http://example.jp/index.php と言うURLがクッキーを利用したセッション管理行っているとします。セッションデータが初期化されサーバに保存されているか、されていないかに関わらず、ブラウザが送信したクッキーによって指定されたセッションIDがそ

    Strict Session管理パッチ
  • Return 0

    return0.infoに移転。昔の日記はまんま残してるので読みたい人はどうぞ。 世界樹の迷宮関係のコンテンツは移行が面倒なのでこっちに残すことにした。 世界樹の迷宮プレイ記録 世界樹の迷宮IIプレイ記録 世界樹の迷宮IIIプレイ記録

    geerpm
    geerpm 2008/07/17
  • hnwの日記 - PHPの奇妙なround関数

    (2012/11/01追記) 4年ほど前の記事「PHP5.3.0alpha3のround関数の実装がPHP5.2.6と変わった - hnwの日記」でお伝えした通り、PHP 5.3.0から別の実装が採用されており、ページで指摘しているような挙動のPHPは既に絶滅危惧種です。念のため。 さて、プログラミングの話題もたまには書いてみます。今回はPHPのround関数の挙動が変だ!という話題です。 round()は浮動小数点数を四捨五入する関数で、大抵の言語に同じ名前で実装されているかと思います。ではPHPのround関数の何が問題なのか、ちょっと試してみましょう。 $ uname -sro Linux 2.6.9-42.0.10.plus.c4smp GNU/Linux $ php --version PHP 5.1.6 (cli) (built: Feb 23 2007 06:56:38)

    hnwの日記 - PHPの奇妙なround関数
  • http://www.cpa-lab.com/tech/0153

  • cloned.log - PHPの参照渡しは関数の引数だけじゃない

    PHPの参照渡しについて。参照渡しについて説明しているサイトでは圧倒的に関数の引数を例にしていることがほとんど。例えば以下のような感じ。 <?php $v = "default"; rewrite($v); print $v; function rewrite(&$arg) { $arg = "HelloWorld"; } これで「HelloWorld」と出力される。$vを直接変更していないのに、rewrite関数内での変更が$vに対して有効になっていると解く。関数の引数に「&」を付けなければ上書きされることはない(値渡し)。 最初はこれが一番判り易いけれど、もう一歩、変数代入の参照渡しと関数戻り値の参照渡しにも触れて欲しいところ。特に関数戻り値の参照渡しについて触れているサイトが当に少ない。 変数代入の参照渡しというのは以下のコードのような場合。 <?php $a = "default

    cloned.log - PHPの参照渡しは関数の引数だけじゃない
    geerpm
    geerpm 2008/07/07
  • Blogger

    Google のウェブログ公開ツールを使って、テキスト、写真、動画を共有できます。

  • preg_replaceによるコード実行 - T.Teradaの日記

    最近少し調べていたのが、PHPの任意コード実行系の脆弱性です。中でも、preg_replace関数(Perl互換の正規表現による置換を行なうための関数)を不適切な方法で使った場合に発生する脆弱性について調べていました。 せっかくなので、日記にまとめてみます。 3種類の脆弱性 preg_replace関数を使ったPHPコード実行系の脆弱性には、大きく分けて3つの種類があります。 第一引数への挿入を許す e修飾子付き・第二引数への挿入を許す e修飾子付き・第三引数への挿入を許す 以下でそれぞれについて見ていきます。 タイプ1:第一引数への挿入 以下のコードに、任意のPHPコードが実行可能な脆弱性があります。 $m = preg_replace("/([^<]*)$kw([^>]*)/i", "\\1<font color=red>$kw</font>\\2", $m); $kwと$mは外部から

    preg_replaceによるコード実行 - T.Teradaの日記
  • PHPで、いわゆる機種依存文字の文字コード変換(EUC-JP→UTF-8)にはまる - WEBプログラミング NOW!

    私が作るPHPのサイトは、大概、EUC-JPを内部エンコーディングと設定して作成しています。それで今まで特に困ったことはなかった(自動応答メールなどに「㈱」「髙」などの機種依存文字が含まれていると文字化けすることはありましたが、そのような場合、そのような文字を入力するユーザーの知識不足を問題視していることが実際多かったのですが・・・。)のですが、今回は困りました。 いわゆる機種依存文字(「①」「㈱」「Ⅱ」「㌔」など)をEUC-JPからUTF-8へ変換しようとすると、該当文字が「?」(クエスチョンマーク・はてなマーク)に化けてしまいます。変換不能状態です。我ながら今更ですが、mb_convert_encoding()関数において、「eucJP-win→UTF-8」のようににするとこれらの文字変換はうまくできるようになることが分かりました(=下記サンプルコードの方法2)。 ただし、「髙」「纊」

    PHPで、いわゆる機種依存文字の文字コード変換(EUC-JP→UTF-8)にはまる - WEBプログラミング NOW!
    geerpm
    geerpm 2008/06/16
  • 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
  • cURL関数で3つのハードルを乗り越えて投稿する - 忍び歩く男 - SLYWALKER

    cURL関数を勉強してみた。 お題は ベーシック認証 ログイン(クッキーを使ってセッション保持) トークン 自分で作ったサイトに投稿してみた。 試行錯誤の末、やっとできた。 注意点 クッキーファイルは、絶対パス指定しないと、手の届かないところに作られてしまう。 当然そこが書き込み不可ならエラーになる。 あらかじめファイルを作成していないとエラーになる。 ファイル投稿するファイルも絶対パスで。 とりあえず、クッキーが何とかなれば、セッション保持も可能になるので、あとはなんとかなるレベル。 いろんなサイトへの対応できると思うんだが・・・ サンプルコード 投稿後の成功確認とか、省いちゃってますが・・・ <?php $curl = new myCurl; // ベーシック認証用 user pass $curl->setUserPass('user:pass'); // ログイン画面でトークン取得

    cURL関数で3つのハードルを乗り越えて投稿する - 忍び歩く男 - SLYWALKER
    geerpm
    geerpm 2008/06/09
  • Welcome to atseason.com

    Welcome to atseason.com E-mail : atseason@gmail.com

    geerpm
    geerpm 2008/06/06
  • koshigoewiki:php:デザインパターン [KoshigoeWiki]

    koshigoewiki/php/デザインパターン.txt · 最終更新: 2005/12/04 17:15 by koshigoebushou

    geerpm
    geerpm 2008/05/23