3

よくわかりませんが、を使用して保存されるデータCache::rememberはバイナリだと思います。次のように表示され、次のように続きます3133 3632 3334 3838 3533 613a 343a 7b73

なぜエンコード/バイナリ/何であれ?

編集:現在、ファイル キャッシュを使用しているため、データベース キャッシュでエラーが発生しています。

4

1 に答える 1

2

あなたが見ているのは、エンコードされた暗号化されたキャッシュです

すべてのキャッシュは から派生していStore.phpます。DatabaseStore.phpストア機能に暗号化が含まれる唯一の方法です。Laravel データベース キャッシュのソース コードには、次のコメントが含まれています。

データベースにキャッシュされたすべての値は、これがコンシューマーによってセッション データ ストアとして使用される場合に備えて暗号化されます。

つまり、データベースが侵害された場合、ソース コードにもアクセスできなければ、データは理論上保護されます。

キャッシュは秘密鍵 (で定義app.php) をパスフレーズとして使用して、この鍵を暗号化/復号化します。暗号化は、Encrypter.phpget/set キャッシュ呼び出し中に継承されたストア ファイル (つまり、DatabaseStore.php) によって呼び出されるファイルで行われます。

編集:デモとして-次のファイルキャッシュ

Cache::remember('test', 5, function()
{
    return 'example';
});

結果は

 1362413945s:1:"example";
于 2013-03-04T12:05:50.657 に答える