タグ

phpに関するrekramkoobのブックマーク (710)

  • flush

  • 【スクリプトインジェクション対策07】予期しないエラーが発生した場合、プログラムの実行を停止する | gihyo.jp

    なぜPHPアプリにセキュリティホールが多いのか? 【スクリプトインジェクション対策07】予期しないエラーが発生した場合、プログラムの実行を停止する ユーザ入力の単純エラー、例えば必須項目の記入漏れなどであれば、エラーでプログラムの実行を停止するのではなく記入漏れなどのエラーが発生したことを画面に表示するようにします。しかし、不正な文字エンコーディングやシステムが設定しているパラメータの改ざんなど不正な入力の場合はプログラムの実行を停止すべきです。 不正な入力を処理可能な値にフィルタ処理を行い、プログラムの実行を継続するのは予想もしない問題の原因となるので危険です。一般的なサニタイズ処理ではデータを修正して処理を継続するコードになっています。入力処理にはサニタイズ処理は行わず、バリデーション(検証)処理を行いエラーを検出し、エラー時にはプログラムの実行を停止させます。 正常な状態であればPH

    【スクリプトインジェクション対策07】予期しないエラーが発生した場合、プログラムの実行を停止する | gihyo.jp
  • 10日で覚えるPHPのキソ(超基礎編) 第 1 回 PHPの約束事 | バシャログ。

    この春からプログラムにチャレンジしよう!と意気込んでいる方もいらっしゃるのではないでしょうか? 先日、おすすめを紹介させていただいたのですが、を読みながらの学習では、途中でつまづいたり、なかなか長続きしない、といった方もいらっしゃると思います。 そんな時のお手伝いができたら…と、シーブレインでは今回の連載 「10日で覚えるPHPのキソ」を企画いたしました。 どうぞよろしくお願いいたします。 第1回は PHPを勉強する時に、まず最初に覚えておきたい約束事! についてお話しいたします。 その前に、PHPとは… PHPはプログラミング言語 日語・ドイツ語・フランス語があるようにPHPも言語の1つです。 プログラミングをするための言語ですね。 プログラミング言語には大きく分けて、インタプリタ型とコンパイラ型があります。 PHPはコンピュータが直接理解可能なコードへの翻訳作業を、プログラムの実

    10日で覚えるPHPのキソ(超基礎編) 第 1 回 PHPの約束事 | バシャログ。
  • PHPSpecでユニットテスト

    pear channel-discover pear.phpspec.org pear install phpspec/PHPSpec を実行すればOKです。 使い方、というか振舞駆動開発の流れですが、 1.要求仕様を文章に直し(it should … の形式で)、それに沿ったテストコード(スペックファイル)を作成。 2.作ったスペックファイルで正しい結果が出てくるようなプログラムを作成。 3.スペックファイルを完成させてテストを実行して、正しい結果になることを確認。 1から3の繰り返しになります。 マニュアルにわかりやすい例がいろいろ載っているので、ぜひぜひそちらを見てみて下さい。 一応、やってみると、、、 MyStringクラスという、渡した文字列をどんどんつなげていくクラスを作ることにします。 まずはスペックファイルの作成です。 DescribeMyString.php <?php

    PHPSpecでユニットテスト
  • サービス終了のお知らせ

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

  • https://always-pg.com/php/std_rd/number/rand.html

  • 9. 引数の受け渡し

    9.引数の受け渡し PHPでは,HTMLで指定された引数を,PHPのシステムが特殊な変数に格納します.これにより,前のページから引数を引き渡すことができます. 受け渡し用変数 PHPシステムが設定する変数は,定義済の変数と呼ばれ多くの種類があります.(マニュアル参照) このなかで,引数に受け渡しに使われるのが $_GET[], $_POST[], $_REQUEST[] です.$_GET, $_POST がそれぞれ GETメソッド,POSTメソッドで渡される引数が設定されますが,$_REQUEST には両方とも設定されます. 以下にサンプルを示します. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 3

    rekramkoob
    rekramkoob 2008/04/03
    $_REQUEST には両方とも設定される
  • http://e0166nt.com/blog-entry-449.html

    http://e0166nt.com/blog-entry-449.html
  • 第12回 フェイルセーフ ── 万が一に備える | gihyo.jp

    フェイルセーフとは、問題が発生しても致命的な被害が発生しないようにするか、被害を最小限に留める機能です。Webアプリケーションには様々なリスクが存在します。Webアプリケーションにはフェイルセーフ機能が必須と言えます。今回から連続してWebアプリケーションが備えているべきスクリプトインジェクション/セッションハイジャックに対するフェイルセーフ対策を紹介します。 なぜフェイルセーフ機能が必要なのか? Webシステムのセキュリティリスクを完全に排除することは不可能です。通常のPHPアプリケーション開発者は自分が書いたPHPスクリプトが安全であることに対して責任を持ちます。しかし、PHPアプリケーション開発者が安全なコードを書くだけではシステム全体として安全性を維持することができないケースは少なくありません。 例えば、PHP5.2.5には非常に重要なセキュリティ上の修正が含まれています。PHP5

    第12回 フェイルセーフ ── 万が一に備える | gihyo.jp
  • F's Garage:rubyとかPHPとかPerlとか。

    企業の言語選択は、どれほど人材採用に影響があるのだろうか。 楽天が先日ruby on railsを採用するという話がニュースになった。ruby会議のスポンサーにもなっているようだ。 楽天JavaPHPを使っているとのことで、Javaエンジニアがライトウエイト言語でRubyに行くというのは割と僕も正当なパスだと思うので、基的に納得である。 最近、一つ納得がいかないのは、オープンソースやらネット上で技術者が目立たないと、まるでその会社には技術屋がいないような扱いになってしまう点。 さらっと見つけてみたのだが、代表的な発言として、404 Blog Not Foundさんの > 楽天の苦点 そして「中の人」の存在感がほとんどない。これは、ネットならではの事情なのだが、成功しているサイトのほとんどが、何らかの形でその技術力が外から伺えるようになっている。はてなや37signalsのように、中

  • PHPでRAR形式のファイルを扱えるエクステンション「PECL::rar」:phpspot開発日誌

    PECL :: Package :: rar PHPでRAR形式のファイルを扱えるエクステンション「PECL::rar」。 RAR形式というと圧縮率が高いことやパスワードをかけたりできる圧縮形式として知られていますが、PHPからrar形式のファイルを扱うためのPHPエクステンションがあるようです。 インストール gunzip rar-xxx.tgz tar -xvf rar-xxx.tar cd rar-xxx phpize ./configure && make && make install peclコマンドでも入りそうですね。 利用サンプルコードは以下。簡単に使えるみたい。 <?php $rar_file = rar_open('example.rar') or die("Rar アーカイブをオープンできません。"); $entries = rar_list($rar_file);

  • PHPでPDFを出力するOSSのライブラリ「TCPDF 3.0」 | エンタープライズ | マイコミジャーナル

    伊Tecnick.com社は27日、オープンソースのPHPPDF生成ライブラリ「TCPDF 3.0」をリリースした。ライセンスにはGNU LGPLを適用、商業ベースを含め自由に再配布が可能。PHPのバージョン (4 / 5) に応じた、異なるパッケージが用意されている。 今回のリリースでは、PHPで画像を扱うためのライブラリ「GD Graphics Library」が対応するすべての画像フォーマット (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) に対応するよう、イメージ出力関連のコードが大幅に書き換えられた。あわせて画像のリサイズ機能も実装されている。ほかにも、CMYKカラーのサポート、ページのグループ化、オブジェクトの透過表示、JPEG品質の指定といった機能を提供する関数が追加されている。 TCPDFは、FPDFをベースに拡張された

  • 絶対に公開してはいけないPHPプログラミング

    絶対に公開してはいけないPHPプログラミング ネタ元:AjaxMail:Ajaxを活用したフリーPHPメールフォーム これはひどいのに誰もつっこみを入れていないので、ツッコミを入れておきます。 セキュリティーフィックスされたました。 AjaxMailを利用しているサイトはスパムメールの踏み台にされます。 送信プログラムであるsendmail.phpの 150行目でPOSTで受け取ったアドレスをそのまま変数に入れて、 $reto = $_POST['email']; 168行目で直接メール関数に利用している。 if($remail == 1) { mail($reto,$resbj,$rebody,$reheader); } ありえない。 mail関数の第一引数には送信先のメールアドレスを設定できるのですが、カンマ区切りで複数のメールアドレスが指定できます。 リターンメールの性質上、リファラ

    絶対に公開してはいけないPHPプログラミング
  • CakePHPを使ったMVC設計のベストプラクティス - Sooey

    CakePHPを使ったMVC設計のベストプラクティス 個人的にはCakePHPはあまり好きではないのですが、CakePHP開発メンバーによるMVCデザインの記事 (CakePHP のおいしいべ方)で紹介されていたBest Practices in MVC Design with CakePHP (php|architect’s C7Y)はMVCフレームワーク利用者にとってとても有用な情報だったので、訳してみました(php|architectの方には翻訳許可を頂いています)。 この記事を読んでドメインモデルに興味を持った方は、エンタープライズ アプリケーションアーキテクチャパターン(PoEAA)やDomain-Driven Design: Tackling Complexity in the Heart of Softwareに手を出してみるのもいいかも。他に、InfoQにユーザー登録すれ

  • AjaxMail:Ajaxを活用したフリーPHPメールフォーム

    ウェブサイトを動的なページに変更したい、機能を拡張したいと思ったら、 Ajaxのツールを使って簡単に機能を拡張してみよう。 ウェブサイトを運営するとき、サイトを見たユーザーからコメントを残してもらうことがあります。 また、企業なら連絡方法としてメールの送信ができるように、メールフォームを用意していると思います。 こうしたウェブサイトのメールフォームをAjaxを使って導入することができます。

  • 配列のデータを合計する - phpspot

    $array = array(1,2,3,4,'hoge'); $sum = array_sum($array); これで、$sum には 10 が入ることになります。 hoge という文字列が入っていますが、数値でないものは無視されます。"1" のような文字列であっても数値に変換できれば、それは加算されるという具合です。 スポンサードリンク PHPサンプル集

  • Apache/PHP/MySQLなどをWindowsに一発でインストールできる「VertrigoServ」 - GIGAZINE

    Apache/PHP/MySQL/SQLite/SQLiteManage/PhpMyAdmin/Zend OptimizerをWindowsにまとめてオールインワンでインストールすることができるようになっているのがオープンソースで開発されているこの「VertrigoServ」。 これらの各ソフトについて簡単に設定を変更できるコントロールパネルっぽいものがタスクトレイから一発で呼び出せるようになっており、非常に設定が簡単です。また、インストーラは日語化されているので安心です。 実際のインストール方法などは以下から。 VertrigoServ http://vertrigo.sourceforge.net/ ダウンロードしたら実行します 「OK」をクリック 「次へ」をクリック 「同意する」をクリック 「次へ」をクリック さらに「次へ」をクリック 「インストール」をクリック インストール中……

    Apache/PHP/MySQLなどをWindowsに一発でインストールできる「VertrigoServ」 - GIGAZINE
  • PHP more

    PHP の知っておきたいこと スカラー配列・連想配列 前でも説明をしましたが、他の言語と同じように、PHP には配列が用意されています。これは変数の一種ですが、非常に便利に使用することができます。PHP の配列には、見た目において、大きくスカラー配列と、連想配列の二つがあります。 スカラー配列 まず最初に、スカラー配列についてのメリットを説明します。これは、ほとんどの言語にある配列で、配列の後ろに数値の添字をつけることにより、各要素にアクセスできます。これは、どんなときに使うかというと、例えば、10人の名前を変数に格納したいとします。これをするには、二つの方法があります。一つは、10個の別の変数の名前をつける方法。 $name1 = "Hashiya"; $name2 = "Atsuzaki"; $name3 = "Nakano"; (省略) もうひとつの方法が、スカラー配列を使う方法です

    rekramkoob
    rekramkoob 2008/03/24
    name属性の配列について
  • PHPでのスクレイピングに役立つライブラリ色々:phpspot開発日誌

    PHPでのスクレイピングに役立つライブラリ - (DxD)∞ APIが提供されていないサービスから欲しい情報だけを取得するには、HTMLなどから自前でスクレイピングを行うしかありません。PHPでのスクレイピングに役立つライブラリなどをまとめてみました。PHPでのスクレイピングに役立つライブラリ色々が紹介されています。 HTMLScraping - XML化してDOMやXpathでアクセス WebScraper - XPathで要素にアクセス 続きを見る PHPスクレイピングすることって結構ありそうですが、これは活用できそうですね。

  • PHP+memcache+Repcachedのサンプル:phpspot開発日誌

    PHP+memcache+Repcachedを試してみた 再び - Do You PHP はてな Do you php さんで、PHP+memcache+Repcachedを試した結果例が公開されています。 Repcached とは、memcached のレプリケーションを取る仕組みで、KLabから公開されています。 PHPからmemcachedを使う例は「PHPでパフォーマンス向上のためのキャッシュテクニック色々」も参考に出来ます。 キャッシュデーモンを複数に分散させたい場合に使えそうですね。