タグ

プログラミングとphpに関するno_riのブックマーク (19)

  • PHPでのデバッグ方法

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog おひさしぶりです。オークション担当の山崎 賢です。 前回はPHP Serialize についてでしたが、 今回はPHPでのデバッグに関してお話します。 基PHPはインタプリタ(厳密にはPHPは内部で一度コンパイルしていますのでインタプリタとは言い切れませんが) のデバッグではログ埋め込みが手軽です。 しかし、まれにSIGSEGVやSIGBUSなどでPHPスクリプトが落ちることがあり、途方にくれます。 地道にログを埋め込んでいき、箇所を特定するのも手法の1つですが、今回はgdbを用いたデバッグ方法を記載したいと思います。 ■STEP1 まずは、プログラムが落ちることを目的として以下のようなPHP Moduleを作成します。 ・ ・

    PHPでのデバッグ方法
  • 58. すごいリロード対策

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

    58. すごいリロード対策
  • アシアル株式会社 プレスリリース - Webサイトにニコニコ機能を設置できるWebサービス『ニコニコこめんと』を提供開始

    2024年05月17日プレスリリース高校生が明日をちょっと良くする「第2回全国商業高校Webアプリコンテスト」の開催が決定!公益財団法人全国商業高等学校協会の後援を受け、全国の商業科目を履修する高校生を対象にした「第2回全国商業高校Webアプリコンテスト」(以下、コンテスト)を開催いたします。 2024年04月01日お知らせ教育分野の展示会「EDIX東京2024」に出展します大学DXソリューションのご紹介で出展いたします。 【開催日】2024年5月8日(水)~10日(金)【開催場所】東京ビッグサイト【出展場所】教育DXエリア:小間番号2-50 2024年02月05日メディア掲載弊社代表の田中が共著した「Web検定 Webリテラシー」公式テキストの第4版が2月13日発売仕事でWebに関わるすべての人が、適切に業務を遂行できるためのWebリテラシーを身に着けているかを問う資格試験「Web検定

    アシアル株式会社 プレスリリース - Webサイトにニコニコ機能を設置できるWebサービス『ニコニコこめんと』を提供開始
    no_ri
    no_ri 2007/07/26
    これは安い・・・かも?
  • 狐の王国 PHPが嫌われながら生き残る3つの理由

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

  • PHPのデバッグを補助してくれるFirefoxエクステンション「Xdebug Helper」:phpspot開発日誌

    Xdebug Helper :: Firefox Add-ons Tool to start/stop debug with PHP's Xdebug... PHPのデバッグを補助してくれるFirefoxエクステンション「Xdebug Helper」。 インストールするとFireBugのようにステータスバーにアイコンが表示されXdebugによるデバッグを補助してくれるようです。 Firefox2.0〜インストール可能のようです。 関連エントリ FireFoxでのPHP開発を手助けする「FirePHP

  • Webアプリ開発に必要な要素 安全なWebアプリケーションの 作り方(番外編) • 言語に関する知識 • データベースに関する知識 • (Webサーバーに関する知識) P.2 園田道夫 安全なWebアプ

    Webアプリ開発に必要な要素 安全なWebアプリケーションの 作り方(番外編) • 言語に関する知識 • データベースに関する知識 • (Webサーバーに関する知識) P.2 園田道夫 安全なWebアプリケーション開発に 必要な要素 • セキュアコーディングTIPS • 安全なコードを作らせるライブラリ • 安全なコードを作らせる開発環境 P.3 セキュアコーディング • 年々増える某禁則 – すでにコーディング規約か P.4 • 錯綜する「セキュアさ」 • どこまで気を遣えるのか? • 気を遣えないならばどうすればいいのか? セキュアコーディングを 強制する仕組み • 開発系フレームワーク(PHP系) • Piece Framework – http://piece-framework.com/ P.5 Piece_Unity (Piece_Flow) • フロー制

  • 初級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 =

  • PHPと他各種言語の比較記事:phpspot開発日誌

    PHPから他の言語に、または他の言語からPHPに移行する際に便利な他言語とに比較資料をまとめてみました。 PHPRubyの文法面での比較 PHPと他の言語(php.net) PHP Comparison to JS - PHPJavaScriptで計算機プログラム Perlphp比較表 PHP vs ASP.net - PHPASP.net比較記事 スクリプト言語の比較 その他、言語比較の関連記事 mod_perlとmod_phpのパフォーマンス比較の記事 PHPと他言語の比較 : Web 2.0トーナメント 2006年プログラミング言語人気ランキングTOP20 ソースコード変換/埋め込み PHPのソースコードをC++のコードに変換する PHP5のソースをPHP4に変換 ASPのコードをPHPに変換する Perl内にPHPを埋め込む PiP - PythonPHPコードの中に埋め

  • PHPとRubyの文法面での比較

    PHPRubyの文法面および主要な機能にのみ注目して(ラフな)比較を行った。そのため、各種関数などにはほとんど触れていない。 式と文 やや便宜的な説明になるがPHPの式および文の特徴を以下に示す。 なんらかの記述を式と呼ぶ 式は値を持つことも持たないこともある 関数は必ず返り値を持つが、echoなど一見関数に見えるものの中には値を返さないものもある 文は式を;で終えたもの Rubyの式および文の特徴を以下に示す。 なんらかの記述を式と呼ぶ 厳密にいうと式は値を持つことも持たないこともあるが、Rubyではほとんどすべての記述が値を持つと考えてよい ifやfor、メソッド定義も値を返す 文は式からなり終端を明示するために;を付けてもよい 通常はつけない 複数の文字を一行に書くときには必要 ブロック 「ブロック」といったときPHPRubyで意味するところはかなり違う。 まずPHPでいうブロッ

  • PHPマイスター: 空文字とヌル(NULL)の代入

    « 時間の取得 | メイン | 型の自動変換 » 空文字とヌル(NULL)の代入 空文字の代入とは $n = ""; のように、空の文字(\0)を代入することで、NULL文字ともよびます。 NULLの代入は、 $n = null; のように、直接NULLを代入することです。 以上の2つは、一件同じようですが、少し違います。 前者の$nは、文字を代入したことになるので、文字列型の変数となります。 後者は、型無しのNULLを代入したことになるので、その変数は存在しなくなります。 両者の動作は、場合によっては違ってくるので注意が必要です。 例 $n = ""; if ($n == null) echo "\$nはnullです。" if (!isset($n)) echo "\$nはnullではありません。" 上のif文は、両方ともtureとなります。 isset関数は、変数が存在するかど

  • ウノウラボ Unoh Labs: php で 簡単にデバッグする方法

    尾藤正人です。 Ruby で debug する7つの方法 Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 ということなので、僕が PHP でやってること書いてみたいと思います。 preprint_r() print_r() とか var_dump() だと HTML の中に出してブラウザで見るときにすごく見にくくなります。 そこで preprint_r() という関数を定義して、<pre></pre> で囲んで見やすいように出力しています。 function preprint_r(&$var, $title = '') { echo _preprint_r($var, $title); } function &_preprint_r(&$var, $title = '') { if

  • PHP-TIPS - phpspot

    PHPに関するテクニック集です。 ちょっと知っていれば役に立ったり、効率よくプログラミングできるようなものをまとめていきます。 1. 猿でもわかる正規表現 2. XSS対策 (セキュリティー) 3. エラー処理 4. PHPでカレンダー 5. phpDocumentor 6. phpCodeBeautifier 7. print_rの内容をファイルに書き出す 8. 文字列からタグを取り除く関数 9. 外部HTMLファイルを1行で読み込み 10.ユニークなIDを得る 11.パラメータの汎用的な受け取り方 12.昨日・今日の日付を取得 13.md5のいろいろな使い方 14.コマンドラインでPHP 15.オブジェクトをファイルに保存 16.マシン上の任意のコマンドを実行する 17.PHPYahoo!Web Service 18.PHP用domxml 19.ファイルロックについて 20.エラー出

  • PHPがどうにも好きになれない理由 - Unknown::Programming

    仕事PerlPHPも使うんだけど、どうにもPHPが好きになれない。 いったいなんでだろうか。先にPerlから入ったもんだから後から入ったPHPに対して不満があるのかな? ま、とにかく両方やっててPHPが微妙だなぁと思う部分を列挙してみよう。 ただPHPに関してそれほど詳しくないので間違っている部分もあるかもしれません。 あ、ちなみにここでいうPHPってのはPHP4(PHP4.4.1)のことです。 変数のtypeミス(strict 'vars') これが一番痛い。 まさしくPerlでstrictを使わずに実装してるような、そう、まるで先祖帰りしてるような感覚になってしまうので当につらい。 変数のスコープ 変数のスコープが関数単位でしか発生しないのが痛い。 これによりif条件の場合のみとかループ中でしか使わない変数とかを定義できない。 つまり、変数の存在範囲を細かく設定できないのだ。 配

    PHPがどうにも好きになれない理由 - Unknown::Programming
  • Filtering & Escaping Cheat Sheet

    After having two conversation on escaping data for MySQL insertion within 5 minutes of each other in ##php@freenode, I decided to created a cheat sheet on Filtering & Escaping in general. I think what most people are not aware of is that not just outputting to the browser is output. So is querying a database, or calling one of the exec functions, or even using the mail function (not mentioned on t

    no_ri
    no_ri 2006/05/24
    PHPでのWebアプリ入出力チェックシート
  • PukiWiki 【FrontPage】

    なんだかやけに長い説明ばかり検索に引っかかったので書きました。 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のパーサールールを足せば拡張できますがカスタム版をメンテナンスするのも面倒です。必要なルールを足してプルリクエストを送ってもマー

    PukiWiki 【FrontPage】
  • php,mysql,js,cssのajax検索

    php css js mysql Description: Fast reference tool for PHP, MySQL, JS, CSS Usage: mysql css { javascript : php ; } Version: (PHP, CSS, JS, MySQL) Example: code references { with ajax } Source: php.net

    no_ri
    no_ri 2006/01/24
    phpFunctionsを基に作成されたとの事。
  • phpFunctions

    phpFunctions Search: Matches: Description: Usage: Version: Manual:

    no_ri
    no_ri 2006/01/24
    PHPの関数をAjaxでインクリメンタル検索
  • Smarty

    2008.05.19 現在、Smartyの日語訳ドキュメントはアシアル株式会社様が運営されている、PHPのコミュニティポータルサイト「PHPプロ!」にて最新のバージョンが公開されています。 ▼古い和訳マニュアル ・Smarty2-6-7 (html) ・Smarty2-6-7 (chm) ・Smarty2-6-6 (html) ・Smarty2-6-6 (chm) ・Smarty2-6-5 (html) ・Smarty2-6-5 (chm) ・Smarty2-6-4 (html) ・Smarty2-6-4 (chm) ・Smarty2-6-3 (html) ・Smarty2-6-3 (chm) ▼リンク ・Smarty 公式(英語

  • http://elf.no-ip.org/~elf/php/peardoc/ja/

  • 1