タグ

phpに関するdrillbitsのブックマーク (76)

  • 『例えば、PHPを避ける』以降PHPはどれだけ安全になったか

    この記事はPHPアドベントカレンダー2014の22日目の記事です 。 2002年3月に公開されたIPAの人気コンテンツ「セキュアプログラミング講座」が2007年6月に大幅に更新されました。そして、その一節がPHPerたちを激しく刺激することになります。 (1) プログラミング言語の選択 1) 例えば、PHPを避ける 短時日で素早くサイトを立ち上げることのみに着目するのであれば、PHPは悪い処理系ではない。しかし、これまで多くの脆弱性を生んできた経緯があり、改善が進んでいるとはいえまだ十分堅固とは言えない。 セキュアプログラミング講座(アーカイブ)より引用 「PHPを避ける」とまで言われてしまったわけで、当然ながらネット界隈では炎上を起こし、現在はもう少しマイルドな表現に変わっています(参照)。 稿では、当時のPHPの状況を振り返る手段として、この後PHPセキュリティ機能がどのように変化

  • YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情

    YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情

    YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
  • 保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選 | BULK SERVER blog

    プログラミング言語には様々なものがありますが、その中でも比較的人気なのがPHPです。PHPHTMLファイルに直接記述できるスクリプト言語であり、その手軽さや言語自体のわかりやすさなどから、主にWebサービスの制作でその人気を獲得しています。 PHPは他の言語に比べてとても簡単な仕様となっており、初心者でもすぐにマスターすることができるものです。そして、同じプログラムを書く際でも複数の書き方が可能になっており、使用者に合わせた柔軟性も兼ね備えています。 そのような様々な書き方があるならば、なるべく手短でスマートなコードの書き方をマスターしたいものです。コードをスマートに記述することは以下のメリットがあります。 見やすくなることで保守・管理性の向上 コード量の短縮 記述時間(制作時間)の短縮 組織でのプログラミングルールの簡潔化が可能 このようにメリットが様々あるので、同じプログラムであれば

    保守性・管理性が劇的に上がるPHPのスマートなコードの書き方12選 | BULK SERVER blog
    drillbits
    drillbits 2014/08/12
    !!!関数の中で外部の変数を使う時は引数を設定しますが、それを記述するのは結構面倒です!!!
  • Mammouth

    drillbits
    drillbits 2013/07/16
    PHP 吐く Coffee みたいなやつ
  • カネと時間考えるならPHPやっとけ。たぶn:村上福之の「ネットとケータイと俺様」:オルタナティブ・ブログ

    あー、 PHPとかいう糞言語 おまえは正しいよ。すげー正しい。 イエス・キリストの16777216倍くらい正しいよ! そして、俺はすべてにおいて、間違ってるよ。 いっておくが、おれはプログラマとしては3流というか256流くらいだ。 クソだ。 最近、まともなコードも書いてないし、書けねーよ。 俺に生きている価値なんか1ピコグラムもねえよ。 けどな、言語的にクソかどうかなんかで、メシはえねえんだ。言語がクソでも、手っ取り早くメシがえるなら、それを優先しなきゃいけねえ。 ポインタ実装とかどーでもいいよ。 「書いたように動かない」とかいう奴はカネもらってやる仕事じゃねえよ。カネもらってコード書くなら、「動くように書く」んだよ。 PHPがクソだって? いいんだよそれで。 エンジニアはつねにクソってるんだ。 WebのプログラマなんてスカトロAV女優みてーなもんなんだよ。 クソって、毎日クソみた

    カネと時間考えるならPHPやっとけ。たぶn:村上福之の「ネットとケータイと俺様」:オルタナティブ・ブログ
    drillbits
    drillbits 2013/03/09
    はい
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

  • PHP: Manual Quick Reference

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    drillbits
    drillbits 2012/09/14
    cool
  • facebookにPHP CGIの脆弱性を試してみたら面白い対策がされていた!! - cakephperの日記(CakePHP, Laravel, PHP)

    PHPに新たな脆弱性が見つかって、CGIモードで動作するPHPの場合コマンドライン引数がHTTP経由で渡せてしまうため、-sオプションを渡すとPHPのソースコードが丸見えになるというのが話題になってます。(-sオプションはhtmlでシンタックスハイライトまでしてくれてコードが見やすくなる) そこでFacebookに向けてこれを試してみると・・・ https://www.facebook.com/?-s こんな情報が!! <?php include_once 'https://www.facebook.com/careers/department?dept=engineering&req=a2KA0000000Lt8LMAS'; このURLにアクセスすると、セキュリティエンジニアの求人情報ページに行きます :) おしゃれー

    facebookにPHP CGIの脆弱性を試してみたら面白い対策がされていた!! - cakephperの日記(CakePHP, Laravel, PHP)
  • PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)

    PHP5.3.7のcrypt関数には致命的な脆弱性があります。最悪のケースでは、任意のパスワードでログインできてしまうという事態が発生します。該当する利用者は、至急、後述する回避策を実施することを推奨します。 概要 PHPのcrypt関数は、ソルト付きハッシュ値を簡単に求めることができます(公式リファレンス)。crypt関数のハッシュアルゴリズムとしてMD5を指定した場合、ソルトのみが出力され、ハッシュ値が空になります。これは、crypt関数の結果がソルトのみに依存し、パスワードには影響されないことを意味し、crypt関数を認証に用いている場合、任意のパスワードでログインに成功する可能性があります。 影響を受けるアプリケーション crypt関数を用い、ハッシュアルゴリズムとしてMD5を指定しているアプリケーション。 環境にも依存しますが、デフォルトがMD5の場合もあります。筆者のテスト環境

    drillbits
    drillbits 2011/08/23
    え…
  • チューニンガソンに行ってきた。 - かれ4

    7/9に開催された、チューニンガソンに参加してきた グルーポン・ジャパンCTOの山路氏(@yamaji)とペア 事前に準備してた事 +マスクを注文 +課題の推測 +各種ミドルウェアを何パターン化でコンパイル 当日に課題と審査方法が発表 Webアプリケーションはwordpress コメントをabでPOSTする。1000回 20同時接続で、 Wordpressはいじっちゃだめ OSとかミドルウェアそのへんはいじっておk ***やったこと +MySQLを同じタイプの別インスタンスでコンパイル +PHP5.3.6 普通にコンパイル +Apache2.2 コンパイル +PHP5.3.6 mysql_connectをmysql_pconnectにしてコンパイル +mysql_connectを戻してコンパイル +PHPAPC入りコンパイル +パラメータチューニングも色々と 事前にコンパイルしておいたもの

    チューニンガソンに行ってきた。 - かれ4
  • チューニンガソンで優勝してきました : DSAS開発者の部屋

    7/9(土)にチューニンガソン というイベントに参加して優勝してきたので、その報告と、何を考えてどんなチューニングをしたのかを 記憶の範囲で公開したいと思います。 今回のチューニンガソンのお題は、WordPress(ja) + php + Apache + MySQL で、 ab を使って wp-comment.php 経由でコメントのポストをすることで計測が行われました。 MySQLとApacheを立ち上げたらWordPressが動く環境が渡され、そのWordPress自体は設定ファイルを含めて 改造が一切禁止、WordPressの実行をショートカットするチートも禁止です。 0. 試合前日 環境がAWSとAMI Linuxということは事前に公開されていたため、前日にAWSに登録して少しだけAMI Linuxを 触ってみました。yumベースだけどCentOSと違って結構新しいバージョンが用

    チューニンガソンで優勝してきました : DSAS開発者の部屋
  • tuningathon #1に参加してきました

    どうもコンニチワ。 去る2011.7.9に開催されたチューニング大会 tuningathon に参加してきました。 結果は2位。惜しかった!すごくすごく楽しかったです。 よくよく考えたらうちの会社のクライアント企業の方々もいらっしゃっていたりして、こりゃ負けられないぞ、と気づいたのは結果発表が半分すくらい済んでからでした。 まぁあまり細かいことは気にせずみんな参加したらいいと思うよ!俺が許す! 主催のゼロスタートさんと技評さん、会場提供していただいたECナビさん、サーバ提供していただいたAmazonさんありがとうございました! さて、今回は結果が出てほっとしたわけですが、具体的に何をやったのかメモっておきますのでご参考まで。 問題解決のアプローチを晒す意味で、やったことを順番に書いてみます。 ちなみに環境はMacBookAirです。会場のほとんどの人がMacでしたね。 まずtop,vmst

  • PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記

    はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ

    PHPでTDD&CIワークショップ、Jenkins + PHP の各種プラグインパート資料 - Yamashiro0217の日記
  • OZACC.blog: PHPプログラムのパフォーマンスチューニング

    Programming | PHPプログラムのパフォーマンスチューニング 先日、PHP プログラムのパフォーマンスを上げるべく頑張ったので、今後のためにその手順をまとめておく。 と、わざわざまとめる程もない定番のパターンだと思うけど、今までチューニングと言うと SQL 関連が多くてコード自体のはちゃんとやったことがなかった。 まずボトルネックを探すために、Xdebug をインストール。php.ini には次のように設定を加える。 [xdebug] xdebug.profiler_enable = 0 xdebug.profiler_enable_trigger = 1 これで XDEBUG_PROFILE パラメータを付けて PHP を実行した時だけプロファイラが有効になる。 プロファイラはその結果をどっかのディレクトリに保存する。そのファイル名は cachegrind.out.xxxx

  • なんで PHP をつかいつづけるのか - moriyoshiの日記

    PHP を使い続けたいと思うように PHP 自体を変えていくという発想が必要です。 http://wiki.php.net/rfc/builtinwebserver

    なんで PHP をつかいつづけるのか - moriyoshiの日記
    drillbits
    drillbits 2011/02/03
    なるほどなー
  • 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なんとかの日記
  • clump用ユーティリティ

  • PHP GDプログラミング:Geekなぺーじ

    ここでは、PHP用グラフィックライブラリGDを使ってスクリプトを書く方法を説明したいと思います。 GDを使ったCMSを作ると、画像をサーバにアップロードして自動的にサムネイルを作ったり出来ます。 また、GDを使うと任意の絵を作成できるので、例えばAJAXと組み合わせて色々作ると楽しいかも知れません。 その他、色々と使いどころはありそうです。 基 GDの使い方 GDライブラリの設定情報を確認する 四角く塗りつぶす 画像の読み込み PNGの出力 JPEGの出力 画像の拡大と縮小 画像の回転 TrueType Fontを使った文字列出力 TrueType Fontを使った文字列出力(傾きあり) TrueType Fontで文字列を記述した場合の大きさを測る TrueColor画像(1) TrueColor画像(2) 画像上に文字列を表示 画像上にロゴをオーバーレイ 画像フィルタ 明度 カラーバ

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

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

  • PHPによる誰でも出来る簡単Twitterbotの作り方 - 遥か彼方の彼方から

    プログラムcronよくわからないしAPIとかもまだ触りたくない、でも簡単なものでもいいからtwitterbotが作りたい! なんて人がいるんじゃないかと思います。僕がそうです。そこで、一時間に一度の発言でいいPHPのごくごく基的な知識がある@返しとかしないという条件で簡単なbotを作ってみました。作り方PHPtwitterの投稿をするにはPHPTwitterに投稿 - HIRACCHI H.D.を参考にするのが一番簡単です。 messageというところを$mesとでもしておいて、usernameとpasswordを入力した後の場所で、投稿したいメッセージをプログラムで作成、それを$mesに代入とするのがいいです。実際に投稿するメッセージは、お好きなモノを。どこかのサイトの定期的に変化するデータをもってきてもいいですし、事前にいくつか表示したいものを用意して乱数で振り分けたりしてもいい