laravelエラーの解決方法 MACが無効です
この記事では主に、Laravel によって報告された「MAC が無効です」というエラーの解決方法について説明します。これには一定の参考値があり、興味のある友人はそれについて知ることができます。
Web サイト開発に laravel フレームワークを使用する場合、情報暗号化の目的を達成するために、laravel の Crypt クラスを使用してユーザーのパスワードを暗号化します。Crypt クラスはデータを暗号化するときに APP_KEY に依存するため、APP_KEY を置き換えるときは、ログイン検証中に Crypt::decrypt() 関数を使用すると、「MAC が無効です。」というエラーが報告されます。
したがって、解決策は、元の APP_KEY を復号してユーザーの元のデータを取得し、新しい APP_KEY に従ってユーザー データを再暗号化し、データベースに保存することです。
手動手順は次のとおりです:
設定:
Laravel の暗号化機能を使用する前に、config/app.php 構成ファイルの APP_KEY パラメーターの値を設定する必要があります。 32 個のランダムな文字の文字列を含む値。この値が正しく設定されていない場合、Laravel によって暗号化されたすべてのデータは安全ではありません。
基本的な使用法:
データの一部は、Crypt ファサードを通じて暗号化できます。すべての暗号化には OpenSSL および AES-256-CBC 暗号が使用されます。さらに、暗号化された文字列の改ざんを防ぐために、すべての暗号化データには「メッセージ認証コード」(MAC)が割り当てられます。
これは、encrypt によって生成された値が APP_KEY に関連していることを示しており、データを暗号化した後、復号化する際のセキュリティ検証のために mac が与えられます。APP_KEY はプロジェクトの変更後に再生成する必要があるためです。環境、以前に生成されたデータ。新しい環境ではデータを復号化できません。
MAC値が無効であるという上記のエラーレポートはコンピュータのMACアドレスではありませんが、laravelの暗号化はそのapp_keyに関連しており、各データには特別なMac検証コードが与えられます。
環境を変更した後は、まず APP_KEY を再生成し、次にデータベース内の encrypt を使用して暗号化されたデータを再暗号化する必要があります。 関連チュートリアル:以上がlaravelエラーの解決方法 MACが無効ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP でのデータベース操作は、オブジェクトをリレーショナル データベースにマップする ORM を使用して簡素化されます。 Laravel の EloquentORM を使用すると、オブジェクト指向構文を使用してデータベースと対話できます。モデル クラスを定義したり、Eloquent メソッドを使用したり、実際にブログ システムを構築したりすることで ORM を使用できます。

Laravel 9 と CodeIgniter 4 の最新バージョンでは、更新された機能と改善が提供されます。 Laravel9はMVCアーキテクチャを採用しており、データベース移行、認証、テンプレートエンジンなどの機能を提供します。 CodeIgniter4 は、HMVC アーキテクチャを使用してルーティング、ORM、およびキャッシュを提供します。パフォーマンスの面では、Laravel9 のサービスプロバイダーベースの設計パターンと CodeIgniter4 の軽量フレームワークにより、優れたパフォーマンスが得られます。実際のアプリケーションでは、Laravel9 は柔軟性と強力な機能を必要とする複雑なプロジェクトに適しており、CodeIgniter4 は迅速な開発や小規模なアプリケーションに適しています。

Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

Laravel と CodeIgniter のデータ処理機能を比較します。 ORM: Laravel はクラスとオブジェクトのリレーショナル マッピングを提供する EloquentORM を使用しますが、CodeIgniter は ActiveRecord を使用してデータベース モデルを PHP クラスのサブクラスとして表します。クエリビルダー: Laravel には柔軟なチェーンクエリ API がありますが、CodeIgniter のクエリビルダーはよりシンプルで配列ベースです。データ検証: Laravel はカスタム検証ルールをサポートする Validator クラスを提供しますが、CodeIgniter には組み込みの検証関数が少なく、カスタム ルールの手動コーディングが必要です。実践例:ユーザー登録例はLarを示しています

初心者にとって、CodeIgniter は学習曲線が緩やかで機能は少ないですが、基本的なニーズはカバーしています。 Laravel は幅広い機能セットを提供しますが、学習曲線はわずかに急になります。パフォーマンスの点では、Laravel と CodeIgniter はどちらも良好なパフォーマンスを示します。 Laravel にはより広範なドキュメントとアクティブなコミュニティ サポートがあり、CodeIgniter はよりシンプルで軽量で、強力なセキュリティ機能を備えています。ブログアプリケーションを構築する実際のケースでは、Laravel の EloquentORM を使用するとデータ操作が簡素化されますが、CodeIgniter ではより手動の構成が必要になります。

大規模プロジェクト用のフレームワークを選択する場合、Laravel と CodeIgniter にはそれぞれ独自の利点があります。 Laravel はエンタープライズレベルのアプリケーション向けに設計されており、モジュール設計、依存関係の注入、強力な機能セットを提供します。 CodeIgniter は、速度と使いやすさを重視した、小規模から中規模のプロジェクトに適した軽量フレームワークです。複雑な要件と多数のユーザーを伴う大規模なプロジェクトには、Laravel のパワーとスケーラビリティがより適しています。単純なプロジェクトやリソースが限られている状況では、CodeIgniter の軽量で迅速な開発機能がより理想的です。

PHP 単体テストおよび統合テスト ガイド 単体テスト: コードまたは関数の単一単位に焦点を当て、PHPUnit を使用して検証用のテスト ケース クラスを作成します。統合テスト: 複数のコードユニットがどのように連携するかに注意し、PHPUnit の setUp() メソッドと TearDown() メソッドを使用してテスト環境をセットアップおよびクリーンアップします。実際のケース: PHPUnit を使用して、データベースの作成、サーバーの起動、テストコードの作成など、Laravel アプリケーションの単体テストと統合テストを実行します。

小規模なプロジェクトの場合、Laravel は強力な機能とセキュリティを必要とする大規模なプロジェクトに適しています。 CodeIgniter は、軽量さと使いやすさを必要とする非常に小規模なプロジェクトに適しています。
