すべての PHP 開発者が読むべき本
近年、PHP の評判は悪くなりました。その「悪い設計の概要」と構文の矛盾については多くの議論がありますが、主な不満は通常セキュリティです。多くの PHP サイトは数分でハッキングされ、経験豊富で知識のあるプログラマーでさえ、言語自体が安全ではないと言う人もいます。
常識的な理由から、PHP のセキュリティ違反が非常に多いため、私は常にこれに反対しています。
PHP アプリケーションは、次のような理由でハッキングされることがよくあります。
とても簡単です。 PHP は長年にわたって人気がありました。 PHP の人気が高まるにつれて、より多くの脆弱性が発見されます。これらのハッカーによって発見された脆弱性が PHP 処理エンジン自体に存在することはほとんどありませんが、通常はスクリプト自体の弱点です。
これは、PHP アプリケーションがハッキングされる場合、その原因はほとんどがプログラマであることを意味します。申し訳ありませんが、本当です。
他の Web 言語と同じように、安全な PHP を作成できます。セキュリティ問題を本格的に検討し始める時期が来ました。
安全な PHP コードを書くことは、PHP 開発者に隠された秘密の黒魔術ではありません。しかし、信頼性は非常に細分化されているため、適切なセキュリティ実践に関する大まかなカタログや経験則を収集するのに数週間から数か月 (またはそれほど長くはかからない) を費やす必要があります。それがどれほど重要であるかは、本当の経験だけが教えてくれます。
幸いなことに、Ben Edmunds がそれをやってくれました。最近出版された『Building Secure PHP Apps – a Practical Guide』は、私がこれまでに読んだセキュリティ関連書籍の中で最も優れた書籍の 1 つであり、間違いなく PHP について最も詳しく解説されています。この記事では、すべての PHP 開発者がこの本を読むべきだと私が考える理由を詳しく説明します。
この本は、開発者として次のレベルに進み、より優れた、より安全なスクリプトを構築できるようにするための簡潔なガイドです。
この本では、Web 開発の常識ルール、つまりユーザーを信頼しないこと、すべての入力をフィルターすることについてすぐに説明します。小さなシナリオから始めて、ユーザーがシステムに入る技術的な方法に進みます。最初の章のトピックは次のとおりです:
これらは、PHP 初心者 (および一部のベテラン) が常に見落としてきたことです。入力のフィルタリングは多くの人にとってオプションのステップであると考えられており、この章で詳しく説明します。
読みながら、何年も前の初出勤日を思い出しました。そのとき、既存のコードを深く掘り下げて、新しいユーザー作成スクリプトのコードを見つけました。