allow_url_fopen
サーバーで有効にします。最近の標準は何ですか?libcurl
が有効になっている場合、許可する正当な理由は本当にありますか?
環境:Windows 2003、PHP 5.2.6、FastCGI
必ずallow_url_include
をOffに設定してください。これにより、allow_url_fopen
の多くのリスクも軽減されます。
しかし、PHPのすべてのバージョンがallow_url_include
を持っているわけではないので、多くのベストプラクティスはfopenをオフにすることです。すべての機能と同様に、実際には必要ありません必要な場合、curlモジュールはおそらくそれを改善でき、curlを使用してallow_url_fopen
を無効にするようにアプリケーションをリファクタリングすることで、最小のクラッカーを阻止できます。
答えは、開発者が責任を持って機能を使用することをどれだけ信頼できるかにかかっていると思いますか?外部URLからのデータは、他の信頼できない入力と同様に扱う必要があり、それが理解されている限り、大したことは何ですか?
私の考えでは、開発者を子供のように扱い、鋭利なものを絶対に扱わないようにすれば、安全なコードを書く責任を学ばない開発者がいるということです。
開発の種類によって異なります。プロトタイプを作成してから 'allow_url_fopen'を有効にしても問題ありませんが、libcurlとfile_get_contentsの速度に大きな違いはなく、有効にするのは便利なことです。
実動サーバーの場合、libcurlへの呼び出しには、セキュリティー監査のためにフラグを立てる必要があります。 'allow_url_fopen'が有効になっている場合、fopenおよびfile_get_contentsがそうであるように。 「allow_url_fopen」を無効にしても、悪用が防止されるわけではありません。
クロスサイトスクリプティング攻撃は苦痛であるため、これは反対票です。そして、絶対に " allow_url_include "をoffに設定する必要があります。そうしないと、怪我の世界に入ります。