タグ

PHPに関するazumi_sのブックマーク (50)

  • 非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん

    PHP 8.1へのアップグレードにまつわるまとめ PHP 8.1へのアップグレードには、mbstringにまつわるマニュアルに記述されない後方互換性のない変更が含まれることがあります。そのことを周知するべく、この記事を書くことにしました。 私てきめんは、PHPカンファレンス 2022にて、「治っていくmbstring 令和時代の文字化け」というタイトルでトークしています。以下スライドも参考にしてください。 Major overhaul of mbstringについて PHP 8.1から、Major overhaul of mbstringと呼ばれる、mbstringの大規模改修の内容が反映されるようになりました。困ったことに、RFC(Request For Comments)やChangelog、マニュアルにない内容で、mbstringを多用するPHPユーザーにとてつもない困惑をもたらすこ

    非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん
  • Laravel の認証・認可パッケージが多すぎてわけわからんので図にまとめた - Qiita

    元ネタ @localdisk さんの記事です。 こちらで概ね適切に説明されているものの,文章のみで図が無くて直感的に把握しづらいので,初心者にもすぐ飲み込ませられるように図に描き起こしてみました。 図 解説 illuminate/auth: 最小限の認証認可コアロジック コアコンポーネント群の laravel/framework に含まれているものです。 Socialite 以外のすべてのパッケージが,実質このコアに依存していることになります。 以下の記事でこのパッケージの詳細について説明しているので,ここでは端折って説明します。 伝統的 Cookie ベースのセッション認証 こちらでも解説している, 「Cookie に識別子を載せ,それに対応する情報はサーバ側のファイルに記録する」 という手法に近いものです。 実装は illuminate/session にあり, PHP ネイティブのセ

    Laravel の認証・認可パッケージが多すぎてわけわからんので図にまとめた - Qiita
    azumi_s
    azumi_s 2022/06/26
    最近ちょうど突き当たってるので参考になる
  • SPAセキュリティ入門~PHP Conference Japan 2021

    2. 徳丸浩の自己紹介 • 経歴 – 1985年 京セラ株式会社入社 – 1995年 京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年 KCCS退職、HASHコンサルティング株式会社(現社名:EGセキュアソリューションズ株式会社)設立 • 経験したこと – 京セラ入社当時はCAD、計算幾何学、数値シミュレーションなどを担当 – その後、企業向けパッケージソフトの企画・開発・事業化を担当 – 1999年から、携帯電話向けインフラ、プラットフォームの企画・開発を担当 Webアプリケーションのセキュリティ問題に直面、研究、社内展開、寄稿などを開始 – 2004年にKCCS社内ベンチャーとしてWebアプリケーションセキュリティ事業を立ち上げ • 現在 – EGセキュアソリューションズ株式会社取締役CTO https://www.eg-secure.co.jp/ –

    SPAセキュリティ入門~PHP Conference Japan 2021
  • laravelのヤバい脆弱性をついたkinsing(kdevtmpfsi)というマルウェアに感染した話 CVE-2021-3129 - Qiita

    laravelのヤバい脆弱性をついたkinsing(kdevtmpfsi)というマルウェアに感染した話 CVE-2021-3129PHPSecurityLaravelkinsingkdevtmpfsi webサーバー上でlaravelを動かしていれば、ちょっとした設定のミスで誰でもマルウェアに感染する可能性がある激ヤバセキュリティホール(CVE-2021-3129)が2021年1月20日に報告されています! composerでインストールしたパッケージをバージョンアップせずに使っていませんか? インターネット上に公開されているサーバー、特にステージングや開発環境でDEBUG=ONにしていませんか? エラー画面がこんな風に見えますか? この3つの条件を満たしていると、あなたのlaravelは、今すぐにでもマルウェアに感染する可能性があります。 laravelの脆弱性をついたkinsing(k

    laravelのヤバい脆弱性をついたkinsing(kdevtmpfsi)というマルウェアに感染した話 CVE-2021-3129 - Qiita
    azumi_s
    azumi_s 2021/04/07
    いや、デバッグモードONで表に出すのがそもそも…。
  • ウェブ・セキュリティ試験(通称:徳丸試験)を2019年12月より開始 | PHP技術者認定機構

    一般社団法人BOSS-CON JAPAN(代表理事:吉政忠志、所在:東京都世田谷区、以下「BOSS-CON JAPAN」)は、BOSS-CON JAPAN内組織であるPHP技術者認定機構が国内Webセキュリティ第一人者である徳丸浩氏が代表を務めるEGセキュアソリューションズ株式会社の支援を受け、ウェブ・セキュリティ試験(通称:徳丸試験)を2019年12月より開始することを発表いたしました。なお、試験問題はEGセキュアソリューションズ株式会社が作成いたします。 ■ウェブ・セキュリティ試験実施の背景 全世界で稼働しているWebサイトは5億サイトになりました。企業にとっても重要な位置づけになるため、サイバー攻撃の対象となるケースも増え、攻撃手法も複雑かつ巧妙になってきています。よってウェブ・セキュリティに対する対策は以前よりまして緊密且つ迅速に施さなければなりません。ユーザ、開発者に対してより

    ウェブ・セキュリティ試験(通称:徳丸試験)を2019年12月より開始 | PHP技術者認定機構
    azumi_s
    azumi_s 2018/12/11
    “通称:徳丸試験”の説得力と説明力。
  • PHPStanで始めるPHPのための静的解析 #phperkaigi

    こんにちは。最近メルペイに異動になった @hiraku です。 2018年3月10日(土)に、PHPerKaigi 2018というイベントで登壇してきました。「PHPStanで始める継続的静的解析」ということで、メルカリで使用しているPHPStanというツールについて解説しました。 phperkaigi.jp 発表内容を短くまとめると メルカリではPHPStanというツールをCIフローに組み込み、PHPコードの静的解析を行ってコードの信頼性向上に努めています。 PHPStanはautoloadファイルを解釈し、一部のコードを実行することで解析の高速化を行っており、よくできています。 とはいえ、PHPに対して可能な解析に限界はあるので、テストも合わせて行っていきましょう。 大事なのは、品質向上のアプローチが用意され、心配せずにリリースできることです。 autoloadを認識するということ ス

    PHPStanで始めるPHPのための静的解析 #phperkaigi
    azumi_s
    azumi_s 2018/03/13
  • 安全なPHPアプリケーションの作り方2016

    2. 徳丸浩の自己紹介 • 経歴 – 1985年 京セラ株式会社入社 – 1995年 京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年 KCCS退職、HASHコンサルティング株式会社設立 • 経験したこと – 京セラ入社当時はCAD、計算幾何学、数値シミュレーションなどを担当 – その後、企業向けパッケージソフトの企画・開発・事業化を担当 – 1999年から、携帯電話向けインフラ、プラットフォームの企画・開発を担当 Webアプリケーションのセキュリティ問題に直面、研究、社内展開、寄稿などを開始 – 2004年にKCCS社内ベンチャーとしてWebアプリケーションセキュリティ事業を立ち上げ • 現在 – HASHコンサルティング株式会社 代表 http://www.hash-c.co.jp/ – 独立行政法人情報処理推進機構 非常勤研究員 http://www.

    安全なPHPアプリケーションの作り方2016
  • PHP 5分でわかる静的解析入門 by 黒點 さん - niconare

    PHP BLT #5で発表しました http://phpblt.connpass.com/event/35070/

    PHP 5分でわかる静的解析入門 by 黒點 さん - niconare
    azumi_s
    azumi_s 2016/07/21
    php -lが単純にして至高。
  • PHP の mt_rand() は一貫して壊れている(consistently broken)らしい - 唯物是真 @Scaled_Wurm

    PHPでMersenne Twister法で擬似乱数を生成する関数のmt_rand()にバグがあり出力がおかしい、という話が流れてきておもしろかったので簡単にまとめておく kusanoさんがmt_rand()の実装に9年以上前から1文字違いでバグがあったことを見つけて、数ヶ月後にマージされる(追記: 正確には、PHP版の実装が他と異なっているのは前から知られていたらしい*1 ) PHPに送った1文字修正するプルリクエストがマージされた🎉 mt_rand()の返す値が元のメルセンヌツイスタと異なっていた。https://t.co/Z5WJhHVyNd— kusanoさん@がんばらない (@kusano_k) February 17, 2016 その後、生成される擬似乱数列が変わってしまうので、後方互換性を壊す変更は議論してからmergeすべきということでrevertされるこの前マージされた

    PHP の mt_rand() は一貫して壊れている(consistently broken)らしい - 唯物是真 @Scaled_Wurm
    azumi_s
    azumi_s 2016/02/20
    ん、いやこれはそれこそ昔から有名な話なんでそのまま使うとかしないよ?
  • 「Laravelリファレンス」出版記念イベント

    祝!「Laravelリファレンス」発売! 無関係なツイートを除外してまとめました。 http://www.amazon.co.jp/dp/4844339451/ 2016.01.26 at istyle inc. Roppongi, Tokyo.

    「Laravelリファレンス」出版記念イベント
    azumi_s
    azumi_s 2016/01/27
    あ、出たのね。購入しておこう。
  • 【Laravel5.1】CSRF TOKENミスマッチをキャッチする。 - It's in spec

    Laravel5.1のCSRF TOKENミスマッチをキャッチする。 概要 Laravel5.1標準で、Postを実行するとTokenMismatchExceptionと表示される例外です。 ログインページやフォームで長時間アクセスしないで放置した状態にして、Postするとエラー画面や白いページになってしまいます。(設定は人それぞれです。) Tokenチェック機能はデフォルトであるのでそのまま使いたいけど、エラー画面を変えたり、メッセージを変更できるようにします。 ここではTokenチェックを外す方法は記載しません。他のサイトで詳しく書いてあるので。 実装方法 早速ソース app/Exceptions/Handler.php を編集します。 <?php namespace App\Exceptions; use Exception; use Symfony\Component\HttpKe

  • Laravel5でバッチ開発 | プログラミングメカブログ

    PHPフレームワークのベンチマーク一覧の記事を拝見し、 Laravel5が遅いという結果が出てしまいちょっとへこみました。 ま、まぁハロワの早さがフレームワークの優劣じゃないし(震え声 ハロワ程度でもちょっとメモリとか多く使っちゃうだけだし(震え声 などと色々理由を付けて自分の涙を無かったことにしています。 一口に速度といっても2つの指標があって、実行速度と開発速度があって Laravelは開発速度に重きを置かれているということなので、 こういう差がでちゃうのも仕方ないんじゃないかなーと思っています。 ちなみに、今度日で初めてLaravelが出るらしいですね。ちょっと気になっています。 Laravelエキスパート養成読[モダンなPHP開発を実現するノウハウ満載!] (Software Design plus) さて題に戻って、Laravelでのバッチ開発まわりに関して、 公式ドキ

    Laravel5でバッチ開発 | プログラミングメカブログ
  • https://readouble.com/laravel/5/1/ja/

    azumi_s
    azumi_s 2015/12/10
    ベラルル ベラルル ベララルラ(違
  • Namespaces | Laravel API

    Namespaces Illuminate Illuminate Illuminate\Auth Illuminate\Auth\Access Illuminate\Auth\Console Illuminate\Auth\Middleware Illuminate\Auth\Passwords Illuminate\Broadcasting Illuminate\Broadcasting\Broadcasters Illuminate\Bus Illuminate\Cache Illuminate\Cache\Console Illuminate\Config Illuminate\Console Illuminate\Console\Scheduling Illuminate\Container Illuminate\Contracts Illuminate\Contracts\Aut

  • 安全なPHPアプリケーションの作り方2014

    2. 徳丸浩の自己紹介 • 経歴 – 1985年京セラ株式会社入社 – 1995年京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年KCCS退職、HASHコンサルティング株式会社設立 • 経験したこと – 京セラ入社当時はCAD、計算幾何学、数値シミュレーションなどを担当 – その後、企業向けパッケージソフトの企画・開発・事業化を担当 – 1999年から、携帯電話向けインフラ、プラットフォームの企画・開発を担当 Webアプリケーションのセキュリティ問題に直面、研究、社内展開、寄稿などを開始 – 2004年にKCCS社内ベンチャーとしてWebアプリケーションセキュリティ事業を立ち上げ • 現在 – HASHコンサルティング株式会社代表http://www.hash-c.co.jp/ – 独立行政法人情報処理推進機構非常勤研究員http://www.ipa.go.

    安全なPHPアプリケーションの作り方2014
  • PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記

    PHPの==は両辺を適当に型キャストしてから比較するような演算子です。この型キャストの規則は難解すぎる上にドキュメントも不十分なため、PHPプログラマでも完璧に理解している人はほとんど居ないくらいの印象です。バグの原因になりかねないため、なるべく==を使わないようにしているPHPプログラマも多いはずです。 ところで、この==演算子の挙動がPHP 5.4.4から変更されていることはあまり知られていません。稿ではこの内容を紹介します。 Bug #54547 の騒動 まずはこの仕様変更の経緯を紹介します。 2年ほど昔、Hacker Newsで2^63付近の整数に対応する文字列をPHPで比較したときの挙動がおかしいというスレッドが盛り上がったことがありました。具体的には、PHPでは「'9223372036854775807' == '9223372036854775808'」がtrueになるとい

    PHP 5.4.4から==の挙動が一段と難しくなりました - hnwの日記
    azumi_s
    azumi_s 2014/08/12
    いつかハマりそうだから記憶しておこう…/コメ欄で暴れてる人が低次元過ぎてなんか泣ける
  • not found

    つい先日まで人手不足なこともあって、派遣さんに来ていただいていたときのお話です。送られてきたスキルシートには、「○MySQL」「○PHP」という感じでまぁソシャゲをまわす分にはうちのやり方を多少レクチャーすれば大丈夫かなと思い面談。面談中も、「ゲームが好きです」「バハムートはかなりやりこんでました」「ターミナルも多少はたたけます」という感じでこれならOKかと思い採用して出社してもらいました。最初は環境設定やサービスを利用してもらって理解を深めてもらっていたのですが、過去のイベントの側替えをちょうどいいタイミングで始まることにしたので、必要なテーブルのコピーやアイテム登録をお願いしたところ、PHPMyAdminを使っても、登録はミスるは、他のマスターデータを上書きしてレコードを消すは、100件近いデータのフラグミスがあったので、「0から1に全レコード変更しておいて」ってお願いしたら、PHPM

    azumi_s
    azumi_s 2014/01/31
    まあ、ピンキリだからねー
  • サービス終了のお知らせ

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

  • もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境

    7. エンジニアSさん (c) 2013 Masashi Shinbara @shin1x1 1162 <VirtualHost *:80> 1163 ServerName candycane.local 1164 DocumentRoot "/Users/shin/sandbox/demo/candycane/app/webroot" 1165 </VirtualHost> 1166 1167 <VirtualHost *:80> 1168 ServerName demo.local 1169 DocumentRoot "/Users/shin/sandbox/demo/20130601_phpcon" 1170 php_value vld.active 1 1171 </VirtualHost> 1172 1173 <VirtualHost *:80> 1174 ServerName

    もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境
  • [PHP] preg_replace における //e があぶない話 - tokuhirom's blog

    Malware Hidden Inside JPG EXIF Headers という話題がでていたので見てみたところ、単に preg_replace がセキュリティ上問題があるインターフェイスだという話であって、EXIF 云々は直接的に 関係がなく、釣りエントリであることが判明した。 preg_replace は第一引数に正規表現を渡すが、その際に外部からの入力をそのままわたすと危険という話。 なぜならば preg_replace は '/.*/e' のように、eval flag をわたすことができるからだ。 以下のコードをみよ。 <?php preg_replace('/.*/e', 'eval("echo 5960+3;")', ''); つまり、preg_replace($_POST['foo'], $_POST['bar'], '') のようなコードがあった場合、任意のコードが実行

    azumi_s
    azumi_s 2013/07/17
    JPGのEXIF Headerにマルウェアがぁぁという話題についての冷静なツッコミ。