質問: 安全なjoomla拡張機能を開発する方法は? 最初の拡張機能を作成する前に、できる限り脆弱でないように設計する方法を理解したいと思います。安全なjoomla拡張機能を作成するための一連のルールはありますか?私は sqlインジェクション のみが脅威であると想像できるので、フォーム入力を「そのまま」sqlコマンドに直接挿入することはできません。カスタムモジュールまたはプラグインを作成するときに注意する必要のある他の攻撃ベクトルは何ですか?
回答: あなたが指摘した主なものの1つはsqlインジェクションです。これは、私が見たいくつかの人が完全に見落とし、nonjoomlaコーディング標準を使用して開発を開始し、_mysql_*_コマンド。1つ目のポイントで述べた2番目のことは、常にjoomlaコーディング標準に固執することです。 joomlaが代替手段を提供しない場合は、あなたがすべきでない唯一の時です。3番目に、拡張機能がフォルダーまたはファイルを作成する場合は、それらに正しい権限を与え、フォルダーchmod 777の作成を開始しないようにします。これが、最も人気のある拡張機能の1つであるk2が脆弱であると見なされた正確な理由ですそして一時的にjedから削除されました。常にフォームでトークンを使用します。これにより、他のサイトからの不正な攻撃が実行されないことが保証されます。これに関する詳細については、以下をご覧ください。 http://docs.joomla.org/how_to_add_csrf_anti-spoofing_to_forms すでにいくつかのテストが実行されているかどうかわからない場合は、 code review stackexchange に移動してみてください。コードをチェックしてくれる人がいるかもしれません。あなたができることの1つは、安全でないために一時的に(修正されるまで)joomla拡張機能ディレクトリから削除された拡張機能を確認するために vulnerable extensions list を確認することです。これがあなたの最初の拡張機能に少しの洞察と幸運を与えることを願っています