PHP を使用したマイクロモール開発に関する注意事項
Java、C、C#、Python などの言語と比較して、PHP には次のような利点があります。最大の利点は、開発効率が高く、フレームワークの選択肢が多く、オープンソース モールの DSMall、DSHOP、DSKMS など、開発コストを大幅に削減し、製品のイテレーションを高速化できる多くのオープンソース製品から選択できることです。 Thinkphp フレームワークに基づいて開発されており、この製品開発に基づいて開発を大幅にスピードアップし、プロジェクトを迅速にオンラインにできると同時に、Thinkphp フレームワークを直接アップグレードできます。
通常の状況では、開発プロセス中に PHP のセキュリティ知識に注意を払う必要があります。一般的なセキュリティ問題をいくつか紹介します。
1.SQL インジェクション
SQL インジェクションは、一般的な Web サイトに対する最大の脅威の 1 つであり、データベースが SQL インジェクションによって攻撃されると、すべてのデータベースが取得される可能性があります。 。現在主流のソリューションは 2 つあります。ユーザーが入力したデータをエスケープするか、カプセル化されたステートメントを使用します。一般に、カプセル化された関数は、ユーザーが送信したデータをフィルタリングするために使用されます。
2.XSS
XSS は CSS (Cross Site Script) とも呼ばれ、クロスサイト スクリプティング攻撃です。悪意のある攻撃者が Web ページに悪意のある HTML コードを挿入することを指し、ユーザーがそのページを閲覧すると、Web に埋め込まれた HTML コードが実行され、ユーザーに対する悪意のある攻撃という特別な目的が達成されます。
正しいアプローチは、ユーザーからの入力を断固として信用せず、入力内のすべての特殊文字をフィルターで除外することです。これにより、ほとんどの XSS 攻撃が排除されます。
3.最も一般的に使用される防御方法は、CSRF トークンで暗号化された安全な文字列 (通常はトークンと呼ばれます) を生成することです。Web ページ上でフォームを作成するたびに、フォーム内の非表示フィールドにトークン トークンを配置します。セッション内のトークン トークンは「はい」よりも優れています。検証が成功した場合にのみ合格します。
これらの TP フレームワークでオープンソースモールシステムの二次開発を行う場合は、以下の点に注意してください:
1. public ディレクトリを設定します。は、外部からアクセスできる唯一のディレクトリです。アプリケーション ディレクトリにリソース ファイルを置かないでください。
2. CSRF 防御の役割を果たす可能性があるデータの繰り返し送信を避けるために、フォーム トークンの検証をオンにします。3. ネイティブ システム変数の代わりに、フレームワークによって提供されるリクエスト変数取得メソッド (リクエスト クラスの param メソッドと入力ヘルパー関数) を使用してユーザー入力データを取得します; 4. さまざまなアプリケーションにdefault_filter フィルタリング ルールを設定します要件 (デフォルトではフィルタリングはありません) ルール)、一般的なセキュリティ フィルタリング機能には、stripslashes、htmlentities、htmlspecialchars、strip_tags などが含まれます。ビジネス シナリオに応じて最適なフィルタリング方法を選択してください。5. 検証クラスまたは検証メソッドを使用して、ビジネス データに必要な検証ルールを設定します。 推奨チュートリアル:PHP ビデオ チュートリアル
以上がPHPでマイクロモールを開発する際に注意すべき点は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。