タグ

phpに関するmas-higaのブックマーク (23)

  • PHPの時代は終わった? プログラミング言語のランキングで、2001年以来の最低シェアを記録【やじうまWatch】

    PHPの時代は終わった? プログラミング言語のランキングで、2001年以来の最低シェアを記録【やじうまWatch】
    mas-higa
    mas-higa 2024/04/11
    最低ってことはシェアはあるんでしょう。ランキングに載らない言語の方が多いだろ。
  • PDOのサンプルで数値をバインドする際にintにキャストしている理由

    先日PHPカンファレンス北海道2016にて「『例えば、PHPを避ける』以降PHPはどれだけ安全になったか」と題して基調講演を担当致しました。その際のスライドはこちら。 そうしたところ、以下のご指摘をいただきました。 @ockeghem スライド拝見しました。39番目のスライドですが、バインドのタイミングでintにキャストするのはちょっと例として良くない気がします。意図的にオーバーフローを起こすことで想定外のレコードの取得を許してしまいそうです。キャストしない方がまだ安全だと思うのですが。 SQLデータベースは、int型よりも大きな桁数を扱える場合があるので、intへのキャストを避けた方がよいという指摘は一般論としてはもっともなものだと考えます。PHPの場合、9223372036854775807を越える数字文字列をint型にキャストすると、9223372036854775807が返ります(

    mas-higa
    mas-higa 2016/04/21
    PHP と MySQL の仕事をしてなくて本当によかった
  • PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記

    メルセンヌ・ツイスターと似て非なるアルゴリズムが実装されていたことが発覚して話題の PHP の mt_rand 関数の品質を統計的に検証しました.果たして,PHP の「壊れた」mt_rand は安心して使うことができるのでしょうか……? ちなみに,結論から言うと,PHP の壊れた mt_rand は,(少なくともこのテストの範囲では)家メルセンヌ・ツイスターと遜色ない品質を持っているようです.ただし,最後に PHP の乱数の別の懸念点についても紹介します. 壊れた mt_rand とは PHP の mt_rand は,ドキュメントによると,有名な乱数生成アルゴリズム「メルセンヌ・ツイスター」を利用して高品質の乱数を生成する関数です.ところが,どうやら一部では知られていたこととして,PHP の mt_rand の実装にはバグがあり,家メルセンヌ・ツイスターと挙動が一致していませんでした.

    PHP の壊れた mt_rand の品質を統計的に検証した - iwiwiの日記
  • 【現役エンジニアが徹底比較】PHPかRuby勉強するならどっち? | 侍エンジニアブログ

    どうも!侍エンジニアブログ編集部です。 インストラクターをしていて、「プログラミング入門者によく聞かれる質問ランキング」を作るとしたら、TOP5に入る質問がこれです。 最初に結論を言ってしまうと、「絶対的にこっちのほうが良い!」ということは言い切れないんです。というのも、その人の目的(目標)によって、どちらを勉強するべきかが変わってくるからです。 しかし逆に言えば、目的別ならしっかりとPHPRubyどちらを学ぶべきとおすすめができます。 そこで今回は、PHPRubyで「開発できるもの」を中心に、平均年収や求人数、働き方など、今後のキャリアを踏まえてPHPRubyどちらを学べば良いのか決められるよう全部で12個の観点から徹底比較していきます。 あなたが重視するポイントで必ず比較しているので、総合的にみてどちらを学ぶのが良いのか腑に落ちてもらえたら幸いです。 これから解説を読むよりもぱぱ

    【現役エンジニアが徹底比較】PHPかRuby勉強するならどっち? | 侍エンジニアブログ
    mas-higa
    mas-higa 2016/02/12
    "Rubyは最近のいわゆるベンチャー企業と呼ばれるようなところで" 「どっちを勉強したらいいの?」みたいな質問してる人がベンチャーで働くとか無理やろ。
  • DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita

    PHPはよくDISられることがあります。しかし、実際にはほとんどPHPを利用していない人が印象だけでDISってることが多いような気がします。 そこで、PHPがよくDISられている点について、実際どうなのかをPHP未体験者向けに解説していきたいと思います。PHPを触ったことない人でもわかりやすいようにシンプル目な仕様のRubyを例に説明していきたいと思います!( Ruby触ったことなくても、その他のOOP言語を触ったことあれば雰囲気は理解できるように書いています ) DIS例1 / PHPは配列操作がしづらい PHPの配列操作は扱いづらい等とDISる人たちがいます。実際のところどうでしょうか。 以下のような処理を配列への中間変数を用いず行うコードを例に考えてみます。 0. [2,4,6,8,10]という配列を用意して 1. ↑の配列から8以下の数だけを選択した配列を作る 2. ↑の配列から各

    DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita
    mas-higa
    mas-higa 2015/12/22
    今まで PHP を dis ったことなかったけど、例1 見たら dis りたくなった。
  • PHP、かつてWebで人気だった言語が下火になりつつある | readwrite.jp

    今月頭頃にPHPの勉強を始めた時、編集者や知り合いと目標を目指して燃えていた。 しかしながら技術に詳しい人からの反応は常に「アレのどこがいいの?」というものばかりだった。 PHP、かつてパーソナルホームページの略であるとされ、その名前から元々シンプルかつカスタマイズが容易なWebサイトを作るために生まれてきたこの言語では、Webページにインタラクティブな要素を盛り込むことができる。 サイト上でPHPを用いることで、ページを静的なものから、投稿するとすぐにそれが反映されるBlogの様に動的なものにすることが出来る。 私がPHPに興味を持った最初の理由はこれだ。Blog構築で人気のプラットフォームであるWordPressは、Blogの見た目や機能をカスタマイズするためのテーマエンジンにPHPを用いているため、もしPHPを使えるのであれば、Blogのかなり細かいところまでいじることが出来る。 P

    PHP、かつてWebで人気だった言語が下火になりつつある | readwrite.jp
    mas-higa
    mas-higa 2015/11/18
    "PythonやRubyが最初から関数型言語としてスタートを" お、おう
  • PHP入門書のSQLインジェクションとXSS対策をあらためて調べてみた

    継続的にPHP入門書のセキュリティ問題を確認していますが、今回は「やさしいPHP 第3版」を取り上げ、今どきのPHP入門書のセキュリティ状況を報告したいと思います。 やさしいPHP やさしいシリーズ 単行 – 2008/2/29 やさしいPHP 第2版 (やさしいシリーズ) 単行 – 2010/8/28 やさしいPHP 第3版 (「やさしい」シリーズ) 大型 – 2014/9/26 上記のように、2008年に初版が出版された後2回の改版がありました。 第2版ではクロスサイトスクリプティング(XSS)の説明が追加され、第3版ではXSSに加えSQLインジェクションの説明が追加されました。つまり、初版ではこれらの説明はなかったということです。 第3版におけるSQLインジェクションの対策方法はプレースホルダによるもので、結果として書にSQLインジェクション脆弱性は見当たりません(パチパチパ

    PHP入門書のSQLインジェクションとXSS対策をあらためて調べてみた
  • Javaで書かれたPHP処理系のJPHPが高速だった - hnwの日記

    JPHPというJavaで書かれたPHP処理系があります。これは2013年10月にはじまった新しいプロジェクトで、大半をメイン開発者一人で開発しているようですが、既に一定以上の完成度です。また、内部的にはPHPファイルを解釈して直接Javaバイトコードにコンパイルしており、かなり高速なPHP処理系になっています。 他のPHP処理系と異なり、既存のPHPコードをWebサーバ上で動かすことを重視していないようにも見えますが、興味深いプロジェクトですので紹介します。 JPHPを動かしてみる さっそくJPHPを試してみましょう。現時点ではGitHubからソースコードを持ってきてビルドする必要があります。JDK7以上が必要ですので注意してください。JPHPのドキュメント「Getting Started」の通り、次のようにしてJPHPがビルドできます。 $ git clone https://githu

    Javaで書かれたPHP処理系のJPHPが高速だった - hnwの日記
  • 『例えば、PHPを避ける』以降PHPはどれだけ安全になったか

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

    mas-higa
    mas-higa 2014/12/24
    スパルタンPHP
  • 写経されて問題が起きるようなソースを入門書に書くなよ - 何気ない記録

    sin20xx - 『PHP入門書を確認指摘する徳丸浩氏にWeb業界はどう思っ…』 へのコメント そもそもなんだが、入門書だから「この程度でいい」ってのはないんだよね。徳丸先生もいってるけど、わからない人に詳細の説明は通用しないわけだから、サンプルソースを写経されてもいいように書けといっているだけ 2014/11/10 13:28 にブックマーク よんだ。 私的な意見として、そもそも入門書を読むような人は、まずは写経から入ると思っています。 サンプルソースが掲載されていれば、おそらくソースの意味する所から理解するのではなく、大抵の場合、動きと合わせて仕組みを理解しているものかと。 そういう意味でも、そもそもの話として入門書なんて全ての説明が必要なわけではなくて、写経された時に大きなリスクが存在しない事の方が大切だと思うんですよ。 いや、あらゆるリスクを想定する必要なんてなくて、徳丸先生が仰

    写経されて問題が起きるようなソースを入門書に書くなよ - 何気ない記録
  • PHP界隈の胸が熱くなる話 - withgod's blog

    ふとTwitterを眺めてると もうちょい日PHP使ってる人krakjoeの話題に関心持ってもいいと思うんだけどな。彼php-dbgとかcoreで頑張ってるし、いちOSSの出来事としてひじょーに興味深いと思う— Shuhei Tanuma (@chobi_e) July 10, 2014 とか視界に飛び込んでくる。 karkjoeつーと確かAPCuとかpthreads書いた人だよなーって思いつつ何だろうと思ってTwitter見てみるとこんなのが A leg up, please .... Click to Donate: http://t.co/vT4MczCaAk #gofundme— Joe Watkins (@krakjoe) July 9, 2014 ん?って事でリンク先を拝見 http://www.gofundme.com/b9dfcg My name is Joe Watk

    PHP界隈の胸が熱くなる話 - withgod's blog
    mas-higa
    mas-higa 2014/07/16
    いい話
  • PHPカンファレンス関西2014まとめ

    Katz Ueno 🇯🇵 @katzueno 日開催【6/28 (土) 大阪PHP カンファレンス関西にコンクリートファイブジャパン株式会社がスポンサー参加!みんな、来てね!UST中継もあるよ ykso.us/1tGudjN #concrete5 #phpkansai 2014-06-28 07:05:04 Concrete CMS 日語版 @concrete5japan 日開催【6/28 (土) 大阪PHP カンファレンス関西にコンクリートファイブジャパン株式会社がスポンサー参加!みんな、来てね!UST中継もあるよ ykso.us/1tGudjN #concrete5 #phpkansai 2014-06-28 07:05:06

    PHPカンファレンス関西2014まとめ
  • PHP基礎文法最速マスター

    PerlRubyの文法一覧がとても良くまとまっていたので、便乗してPHPでもやってみました。 Perl基礎文法最速マスター – Perl入門〜サンプルコードによるPerl入門〜 Route 477 – Ruby基礎文法最速マスター 他の言語をある程度知っている人はこれを読めばPHPの文法を何となく理解できると思います。 間違い、不足等々あれば教えて下さいm(_ _)m バージョン PHP5.3系がリリースされていますが、ここではPHP5.2系を対象としています。 1.基礎 コードブロック PHPコードは「<?php」という開始タグから始まります。終了タグは「?>」です。HTMLPHPコードを埋める際は終了タグを使いますが、ライブラリのようにPHPコードのみを記述する際は終了タグを省くことが慣例となっています。 終了タグを省く理由について id:Kiske さんに解説頂いています。ありが

  • セッションアダプションがなくてもセッションフィクセイション攻撃は可能

    大垣(@yohgaki)さんと、セッションアダプション脆弱性が「重大な脅威」か否かで論争を続けています。 大垣さん:第25回 PHPのアキレス腱 ── セッション管理徳丸:PHPSession Adoptionは重大な脅威ではない大垣さん:PHPのセッションアダプション脆弱性は修正して当然の脆弱性議論がかみ合わないので、twitterで「ブログ読みました。サンプルも動かしました。問題は分かるのですが、セッションアダプションがないPHPだと、何が改善されるのかが分かりません。教えて下さい」とツイートしたところ、大垣さんがブログで返信下さいました。 大垣さん: セッションアダプション脆弱性がないセッション管理が必要な理由これを読んでかみ合わない理由が分かりました。大垣さん、ありがとうございます。以下大垣さんのブログの末尾を引用します。 脱線しましたが、何が改善されるのか?結論は ログイン時に

    セッションアダプションがなくてもセッションフィクセイション攻撃は可能
    mas-higa
    mas-higa 2012/12/13
    これはすごい
  • PHPでのSQLインジェクション対策 - エスケープ・クォート編 — Let's Postgres

    第四企画 坂井 潔 ここではPHPSQLインジェクション対策としてエスケープ・クォート処理を行うケースを説明します。なおSQLインジェクションの簡単な説明や、プレースホルダを用いてより効果的な対策を行うケースに関してはプレースホルダ編を参照してください。 エスケープとは? それではエスケープ処理とはなんでしょうか? 分かりやすいケースとして、文字列を扱う場合を説明します。 例えば「名前がO'Reillyの行をテーブルusersから取得する」あるいは「テーブルusersに、名前はO'Reilly、メールアドレスはo'reilly@example.comとo'reilly_mobile@example.netの2つを改行で繋げたデータを、行として挿入する」と言ったSQLをつくると、この命令文全体が1つ文字列になります。その命令文としての文字列の中に、値としての文字列を埋め込む場合には、それが

    mas-higa
    mas-higa 2011/11/10
    お墨付きらしい
  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
    mas-higa
    mas-higa 2011/08/25
    こんなの PASS して当然だろ! と思って UnitTest 用意してないと痛い目にあうという例。/ と思ったら違ったみたい。普段から全て PASS しない前提だったらしい。そりゃ見落とすわ。
  • 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なんとかの日記
    mas-higa
    mas-higa 2011/01/06
    なんとなく PHP愛 を感じる。
  • Scripting Languages I: Node.js, Python, PHP, Ruby - Hyperpolyglot

    a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects

    mas-higa
    mas-higa 2010/11/17
    ruby に perl スクリプトを食わすのは止めて (>_<)
  • PHP開発者 Rasmus Lerdorf氏インタビュー ~PHPは「利己的」な開発者の集まり | gihyo.jp

    2010年9月24日・25日に開催された「PHPカンファレンス2010」にあわせて、PHP開発者のRasmus Lerdorf氏が来日されました。日を訪れるのは2度目という氏に、PHPの現状とその根底にある思想についてお話を聞きました。 現在の仕事について 大垣:昨年 Yahoo! Inc.を退職されましたね。現在はどのような仕事をされているのでしょうか? Rasmus:WePayという起業したばかり小さな会社にいます。WePayはカリフォルニアにある、グループで支払いを行う処理を行うベンチャー会社です。 大垣:グループで支払いを行う、というのは、どういうことですか? Rasmus:グループで何かを買いたいときに、グループとしてお金を管理したいですよね。例えば、大学で学生が集まってプレゼントを買いたいという場合があります。どんなものでも構わないですが、10人が集まって共同でオンラインショ

    PHP開発者 Rasmus Lerdorf氏インタビュー ~PHPは「利己的」な開発者の集まり | gihyo.jp
    mas-higa
    mas-higa 2010/10/18
    正義が勝つのではない、勝った者が正義だ。みたいな話ですね。
  • RubyがPHPに勝つにはメソッド呼び出しのための新しい演算子が必要 - kなんとかの日記

    PHPerがRubyを触り始めて最初に不機嫌になるのは、空文字列が偽ではないことだ。つまり、PHPなら「if ($var)」で済むのが、Rubyだと「if !var.empty?」と書かなければならない。これでPHPerは不機嫌になる (まあ気持ちは分かる)。 if ($var) ... # PHP if !var.empty? ... # Rubyそれだけならいい。もし値がnilである可能性があるなら、Rubyでは「if var && !var.empty?」と書かなければいけない。この時点でPHPerは不機嫌どころかブチ切れる。なんでこんなに書かなきゃいけないんだ!? PHPなら「if ($var)」で済むのに!! SHIIIIT!! if ($var) ... # PHP if var && !var.empty? ... # Rubyここで、「空文字列が偽になるような言語仕様こそク

    RubyがPHPに勝つにはメソッド呼び出しのための新しい演算子が必要 - kなんとかの日記
    mas-higa
    mas-higa 2010/02/01
    逆に考えるんだ。var が nil や空文字列を指さないようにプログラムを ……