タグ

phpに関するusj12262のブックマーク (91)

  • これは凄い。JavaScriptで作られたPHP VM·php.js MOONGIFT

    php.jsはJavaScriptで作られたPHP VMです。PHPコードをJavaScriptに変換して実行します。 世の中には色々変わったことを考える人がいます。Webブラウザでデフォルトで実行できるプログラミング言語がJavaScriptだけなんて許しがたい、そう考えたPHPプログラマーが生み出したのがphp.jsです。その名の通り、PHPの実行エンジンをJavaScriptに実装したというとんでもないソフトウェアになります。 確かに実行できています。PHPのコードからJavaScriptに変換を行っているようです。 配列、クラスさらにvar_dumpまで実装されているのが興味深いです。 かなり突っ込んだPHPの処理もできている模様です。これは面白い。 ダブルクオートの中に変数を入れて普通に出力できているのが興味深いです。 php.jsではPHPのコードがそのまま実行できます(もちろ

  • 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
  • PHPでファイルをDLさせる際のPHPコード例:phpspot開発日誌

    2008/2/22: sotarok様より、連絡がありコードを一部訂正 参考1)http://d.hatena.ne.jp/odz/20080215/1203099900 参考2) http://d.hatena.ne.jp/cocoiti/20080221#1203611811 PHPでファイルをDLさせる際のPHPコード例 通常、PHPでファイルをダウンロードさせるとすると、次のようにシンプルにかけます。<?php header('Content-Type: application/octet-stream'); readfile("dl.zip"); ?> が、これだと、ダウンロード時に、保存名がアクセスしたphpでのファイル名になってしまいます(例えば、dl.php)。 そこで次のように Content-Disposition でファイル名をブラウザに通知することで、dl.zip

    usj12262
    usj12262 2008/02/16
  • Zend Framework: Documentation: Zend Framework PHP 標準コーディング規約 - Zend Framework Manual

    このドキュメントは、Zend Framework に貢献してくださる開発者個人 (あるいはチーム) のためにコードの書式やドキュメント作成の指針を示すものです。 Zend Framework を用いて開発をする人たちにとってもこのコーディング規約は有用でしょう。 これに従えば、Zend Framework のコードとの一貫性が保てるからです。 そのためには、ここで完全なコーディング規約を示す必要があります。 注意: 詳細なレベルまでの設計指針を示すこと以上に、 それを標準規格として確立することが大切だと考えています。 Zend Framework コーディング規約の指針は、 これまで ZF プロジェクトでうまく回っていた方針をまとめたものです。 このライセンスのもとで、 そのまま使用するなり多少変更して使用するなりすることができます。 ZF コーディング規約では、次のような内容を扱います。

    usj12262
    usj12262 2008/02/04
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
    usj12262
    usj12262 2008/01/08
    辞書はコンパイルして使う
  • HTMLの要素をSQLのように取り出せるPHPのライブラリ『htmlSQL』 | IDEA*IDEA

    ドットインストール代表のライフハックブログ

    HTMLの要素をSQLのように取り出せるPHPのライブラリ『htmlSQL』 | IDEA*IDEA
  • htmlSQL - a PHP class to query the web by an SQL like language

    This is a archive of older and discontinued projects and experiments I worked on. Test Everything (2007 — 2020) A meta testing tool for your website. My blog (2006 — 2011) From 2006 till 2008 I wrote articles in my german blog named “Lost in programming”. In 2011 I removed the remaining old articles from my homepage. Free icon set (2007) Years ago I made a free icon set from freely available stock

    usj12262
    usj12262 2007/11/11
    修正BSDライセンス
  • 60行で作るPHP用テンプレートエンジン

    唐突に、PHP用のテンプレートエンジンを作ってみる。 方針: ふつうのPHPファイルをテンプレートとして使う。 <?php echo $var; ?> は面倒なので #{$var} と書けるようにする。 <?php echo htmlspecialchars($var); ?> はもっと面倒なので %{$var} と書けるようにする。 ついでにXML宣言も <<?php ?>?xml ... に自動置換する。【追記】レイアウト機能を追加してみた コード: <?php /* * SixtyLinesTemplate.php - 60行しかないけどSmartyより速いテンプレートエンジン * * 使い方: * require_once('SixtyLinesTemplate.php'); * $TEMPLATE_DIR = 'templates'; // 省略可、パーミッションに注意 * $c

    60行で作るPHP用テンプレートエンジン
    usj12262
    usj12262 2007/10/30
    これにキャッシュ機能をたす
  • 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
    usj12262
    usj12262 2007/10/28
  • すごいリロード対策 - p4lifeのメモ

    メモ, PHPPHP TIPS】 58. すごいリロード対策紹介されているのはシンプルなワンタイムトークン.単純なリロード対策であれば ticket の値は乱数でなくても良い.ここを乱数にすることで CSRF 対策も兼ねている.ただこの方法は,場合によってはフォームを正常に送信できなくなってしまう問題がある. 例えば,入力画面→入力確認画面と遷移してから別のウィンドウで入力画面→入力確認画面と遷移すると,前の入力確認画面のフォームは ticket が無効になり,フォームを送信できなくなる(複数画面同時編集ができない). 解決策としては,発行したトークンを全て記憶しておき,POST されたトークンと照合する方法がある. confirm.php session_start(); $token = sha1(uniqid(mt_rand(), true)); // トークンをセッションに追加す

    usj12262
    usj12262 2007/10/21
    複数トークンへの対応
  • 58. すごいリロード対策

    まず、日のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ

    58. すごいリロード対策
    usj12262
    usj12262 2007/10/21
    んー
  • サービス終了のお知らせ

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

    usj12262
    usj12262 2007/06/24
    preg_match要注意
  • 画像ファイルに PHP コードを埋め込む攻撃は既知の問題

    (Last Updated On: )国内外のメディアで「画像ファイルに攻撃用のPHPコードが含まれていた」と比較的大きく取り上げられています。しかし、この攻撃手法は古くから知られていた方法です。条件は多少厳しくなりますがPerl, Ruby, Pythonでも同様の攻撃は考えられます。PHPの場合は言語仕様的に他の言語に比べ攻撃が容易です。 典型的な攻撃のシナリオは次の通りです。 追記:Tokenizerを使った例に修正しました。 アバダなどの画像ファイルをアップロードできるサイトを探す ローカルファイルインクルードバグを探す 画像ファイルにサイトが利用している言語のコードを埋め込む 攻撃コードを含んだファイルを画像ファイルとしてアップロードする ローカルファイルインクルードバグを利用して攻撃コードを実行する PHPの場合、リモートインクルードバグを攻撃するための攻撃用コードをホストさせ

    画像ファイルに PHP コードを埋め込む攻撃は既知の問題
    usj12262
    usj12262 2007/06/24
    なぜpreg_matchで不十分なのかわからない。不勉強/イメージデータの最後が改行文字だとpreg_matchがいつも1を返してしまう模様(http://www.phppro.jp/news/359)。このことかな
  • 404 Blog Not Found:そろそろPHPに関して一言いっとくか

    2007年05月21日04:00 カテゴリLightweight Languages そろそろPHPに関して一言いっとくか こんな記事まで出ていることだし。 [ThinkIT] 第1回:今だからこその「PHPのすすめ」 (1/3) プログラムをたしなまない方にご注意: こちらのPHPとはちょっと違います:-p finalventの日記 - そろそろPHPに関してもう一言いっとくか 各論 使うは天国、インストールは地獄 PHPが一旦インストールされたら、それを使うのは確かに簡単だ。普通にHTMLを書く感覚で <p>以下の環境変数が設定されています:</p> <pre> <?php while(list($k, $v) = each($_SERVER)){ echo "$k=$v\n"; } ?> </pre> とか書けばいい。しかし、PHPでいろいろやるためには、実際にはさまざまなライブラリ

    404 Blog Not Found:そろそろPHPに関して一言いっとくか
    usj12262
    usj12262 2007/05/22
    PHPの長所:「短い言葉を組み合わせて大きな文章を作るという思想があまりに欠落している」
  • ファイルの先頭8バイトだけで画像のフォーマットを調べる - bits and bytes

    PHPでファイルをアップロードしたとき $_FILES にアップロードされたファイルについての情報が入っています。 そして $_FILES[...]['type'] にはアップロードされたファイルの MIME type が入っています。しかしここに入っている値は PHP: ファイルアップロードの処理 - Manual に $_FILES['userfile']['type'] ファイルの MIME 型。ただし、ブラウザがこの情報を提供する場合。 例えば、"image/gif" のようになります。 この MIME 型は PHP 側ではチェックされません。そのため、 この値は信用できません。 と書かれている通り信頼できません。ソースコードを見てみると php-5.1.4/main/rfc1867.c の SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post

    usj12262
    usj12262 2007/05/20
    png,gif,jpgの豆知識
  • PHPプログラミングの基礎を学ぼう(1/2) ? @IT

    連載第1回目では、MySQLPHP+Apacheのインストールと動作確認までを解説しました。今回は、PHPによるWebプログラミングの基と次回以降で作成する「簡易オンラインストア」の概要について説明します。 PHP Webプログラミングの基 PHPコードの埋め込み PHPは、Webアプリケーション構築を前提に開発された言語です。そのため、Webアプリケーション開発で頻繁に使用される処理などを簡単に利用できます。また、HTMLとの相性が良いことでも知られています。 HTMLテキストの中にPHPコードを埋め込むには、<?php ~ ?>を用います(図1)。

    PHPプログラミングの基礎を学ぼう(1/2) ? @IT
    usj12262
    usj12262 2007/02/24
    説明するときの参考に
  • キーボードのミスタイプ入力を生成するサービス「Typo Generator」:phpspot開発日誌

    Typo Generator キーボードのミスタイプ入力を生成するサービス「Typo Generator」。 php と入れてみると、次のようにミスタイプ一覧が出てきます。 ミスタイプを狙ったドメイン取得を考えている人にとっては使えるツールなんでしょうか。 「〜」ではありませんか?といったページの機能用にも使えるかもしれません。

    usj12262
    usj12262 2007/02/15
    使い道はいろいろ
  • PHPによる2038年問題対応:phpspot開発日誌

    PHP TIPS】 8. 2038年問題:ITpro Calcクラスを使うと速度が遅くなってしまいますがUNIXタイムを扱いませんので、子孫にやさしいコーディングを行う事が出来ます。 PHPによる2038年問題対応。 PHPで time 関数などによってUNIXタイムを使っている人も多いはずです。 この関数では、「1171206000」のように10桁の「1970年1月1日 00:00:00 GMT」からの秒数を返します。 この10桁では、2038年以降の日付を表すことは出来ません。9999999999の次は0となってしまい、また1970年1月1日となってしまいます。 そこで、Pear::Dateの使い方が紹介されてます。 使い方は次のようにそんなに難しいものではないので、2038年以降も扱うプログラムを書く場合はこのモジュールを使いましょう。 <?php require_once "Da

    usj12262
    usj12262 2007/02/12
    他の言語と吸収合併が起こるに違いない
  • PlaggerのPHP版「Prhagger」がリリース:phpspot開発日誌

    KinoWiki - php/Prhagger 「らこ」と読む。「りゃこ」かと思ったら違った。名前の由来はなんだろう? PlaggerのPHP版「Prhagger」がリリース。 PlaggerはPerlで書かれているので、プラグインを書く場合などは、Perlの知識が必要でした。 同様の仕組みがPHPでもないかな、と思っていたのですが出てきましたね。 Plaggerと違い、設定ファイルもブラウザで作れるようです。 Plaggerはyamlのconfigベースでやるべき事を設定していくが、prhaggerの場合は、コードベース。コードはブラウザから自動的に生成する。だからユーザはコードを一切触らない。 アクションを作るには、prhagger/setup/install.phpにアクセスする。 個人的に、今後の発展を期待しています。

    usj12262
    usj12262 2007/02/12
    一応
  • 初級PHPプログラマがおかしがちなミスTOP10:phpspot開発日誌

    The PHP coder's top 10 mistakes and problems @ SourceRally.net PHP CommunityPHPプログラマがおかしがちなミスTOP10」、という記事があったので紹介。 PHP初心者だとこういうミスがよくありますね。ということで今年からPHPをはじめようと思っている人には気をつけてほしいリストです。 生でクエリを出力しない echo $_GET['username']; ↓ echo htmlspecialchars($_GET['username'], ENT_QUOTES); やらないとクロスサイトスクリプティングされます。 SQLクエリに$_GET,$_POST,$_REQUESTの値を直接含めない $sql = "select * from table where id=".$_GET["id"]; ↓ $sql =

    usj12262
    usj12262 2007/01/08
    5番は有益