PHP:タイプヒントを使うと遅くなる
PHPにはタイプヒントと呼ばれる引数/戻り値データ型指定機能があります。これは便利な機能ですが性能に影響を与えます。
PHPにはタイプヒントと呼ばれる引数/戻り値データ型指定機能があります。これは便利な機能ですが性能に影響を与えます。
追記: 8月現在では、OWASP TOP 10 2017はWAFのプロモーションになっている、OWASP Proactive Controlsの”全ての入力をバリデーションする”と重複している、などの点が議論になりRCはリジェクトされ11月にリリースを目指して調整中になっています。
追記2:12月現在ではPDF版がリリースされています。現時点ではWebページの内容はドラフト版になっています。リリース版では「A7-Insufficient Attack Protection」は「A10-Insufficient Logging & Monitoring」になり、緩い要求事項に変更されていますが、基本的な要求事項は変わりません。マトモな入力バリデーションがないと要求されるログと監視機能を提供できません。
OWASP(Open Web Application Security Project)とはWebシステムのセキュリティ向上を目指す団体です。クレジットカード/デビットカード利用に必要なPCI DSS(Payment Card Industory Data Security Standard)標準に強い影響力を持っています。PCI DSS標準ではOWASPなどのセキュリティガイドを参照/実装するように求めています。
OWASP TOP 10はOWASPガイドプロジェクトの中で最も重要なプロジェクトです。今年はその新版が4年ぶりにこの夏公開予定です。この4月からRC版(PDF)が公開されています。
2017年度版OWASP TOP 10の修正点で、アプリケーション開発者にとって最も影響が大きい変更は
が追加された点です。これがWebセキュリティのルールを変える指針になります。(とは言っても、個人的にはこれと同じこと10年以上前から実施すべき、と勧めていますが) もっと読む
入力の種類には3種類以上の種類、名前、電話番号、住所など沢山の種類があります。しかし、見方によってはたった3種類しかありません。この区別ができる/できない、で大きな違いができてしまいます。
第五回 関西DB勉強会でお話しさせて頂いた SQLインジェクション対策 総”習”編 の公開用資料をSlideShareにアップロードしました。私のセッションを気に入って頂けた方が多かったようで何よりです。
関西DB勉強会、面白かったです。久々にお会いできた方もいました。超満員でもう少しで入りきれないほどでした。また参加できれば、と思っています。
PDFはこちらからダウンロードできます。
https://www.slideshare.net/yohgaki/sql-76168380
勉強会で使ったスライドは、面白おかしく柔らかい(?)スライドでした。あまり公開用には向いていません。実際に勉強会で使った資料が欲しい方はFacebookかメールで連絡してください。個別にお送りします。
セキュリティと必要十分条件については他のエントリでも書きました。以前書いたエントリではミクロの視点から単純な加算関数で考えました。今回はもう少し大きなマクロの視点、アプリケーションのセキュリティの必要十分条件を考えてみます。
論理的なセキュリティを考える為には必要なので書きました。ここに書いたことは読み物としては退屈かも知れませんが、重要な事だと考えています。
普段あまり書籍のレビューは書きませんが、GW中に読んだこの本は特にオススメだと思ったので紹介します。エンジニアだけでなく、全ての社会人/学生にお勧めできる認知バイアスの入門書です。特に業務として決断が必要な方には必読の書籍、知らないと大損をしかねません。
人は簡単に理屈に合わない選択/決断をしてしまいます。「不合理 誰もがまぬがれない思考の罠100」は不合理/非合理的な選択や決断をしてしまう認知バイアスを解説した書籍です。
軍事戦略や政策決定のミス、原発や航空機事故を招く重大な過失から、私たちが日常的におかす判断ミスまで、愚かな誤りは人間につきもの。人間は理性的な動物どころか、愚かな判断、愚かな行動を性懲りもなく繰り返す動物であるらしい。なぜ人はかくも多くの誤りをおかすのか。著者は多数の心理学の実験と実例を挙げて、私たちが陥りがちな事実誤認や判断ミスを分析し、その要因とリスク回避のためのアドバイスも散りばめる。
読んでいて「例が古い」と感じたのですが、原書の初版は1992年だそうです。つまり、今から四半世紀も前に書かれた認知バイアスの本です。しかし、今でも十分通用する内容です。今でも四半世紀前と同じ認知バイアスで同じ誤った選択や決断をしています。
誤った判断には理由と原因があり、対策もあります。この本ではこれらを理解り易く解説しています。この本を読むために、数学の知識は必要ありません。読み物としても良くできています。退屈することは無いでしょう。
この本を読む前から認知バイアスの知識はありましたが、改めて読んだことにより、これらの日常が変ると思います。認知バイアスの知識がない方ならもっと大きく日常が変ると思います。
唐突ですが、子どもには確率/統計の大切さを教えましょう。この本を読むには数学の知識は不必要ですが、簡単な確率統計の話しが出てきます。少しだけ噛っていたので、この部分で事実誤認をすることは無かったですが、大半の人は間違えるようです。習っていないなら仕方ないでしょう。
高校生の時から思っていたのですが、なぜ全員が確率統計を高校一年生で習わないのか?もっというと簡単な確率統計を中学で習うべきだと思います。簡単な事を知らない為に大きな損失をしていて勿体ないです!
取り敢えず言語とプログラミングの基礎を学習し終えて、これから本格的にソフトウェア開発をしよう、という場合に困るのが「セキュリティ」です。今回は簡単に、これから本格的に開発を行う、という方向けに知っておくべき事を紹介します。
初めてTeratailに回答した内容を多少まとめて加筆したモノになっています。
https://teratail.com/questions/74317
ブログにしたので、Tratailの回答は単純にこのエントリを参照するように修正するかも知れません。