Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan perisian tengah untuk penghantaran penyahsulitan data dalam Laravel

Cara menggunakan perisian tengah untuk penghantaran penyahsulitan data dalam Laravel

WBOY
WBOYasal
2023-11-02 14:16:591325semak imbas

Cara menggunakan perisian tengah untuk penghantaran penyahsulitan data dalam Laravel

Cara menggunakan perisian tengah untuk penyahsulitan dan penghantaran data dalam Laravel

Dalam aplikasi web moden, keselamatan penghantaran data adalah penting . Terutama apabila ia berkaitan dengan penghantaran maklumat pengguna yang sensitif, kami perlu mengambil langkah keselamatan yang sesuai untuk melindungi data ini. Rangka kerja Laravel menyediakan cara mudah untuk menyulitkan dan menyahsulit data untuk penghantaran - menggunakan perisian tengah.

Middleware ialah ciri teras rangka kerja Laravel, yang membolehkan kami memasukkan kod tersuai ke dalam proses pemprosesan permintaan. Kami boleh menggunakan perisian tengah untuk melaksanakan operasi penyulitan dan penyahsulitan data. Artikel ini akan memberi tumpuan kepada cara menggunakan perisian tengah untuk penghantaran penyahsulitan data dalam aplikasi Laravel.

Pertama, kita perlu menjana perisian tengah. Jalankan arahan berikut pada baris arahan untuk menjana perisian tengah bernama DecryptMiddleware:

php artisan make:middleware DecryptMiddleware

Fail middleware yang dijana akan terletak dalam direktori app/Http/Middleware. Buka fail DecryptMiddleware.php dan tambahkan kod berikut dalam kaedah pemegang:

<?php

namespace AppHttpMiddleware;

use Closure;

class DecryptMiddleware
{
    public function handle($request, Closure $next)
    {
        $encryptedData = $request->getContent();
        $decryptedData = decrypt($encryptedData);
        $request->replace(json_decode($decryptedData, true));

        return $next($request);
    }
}

Dalam kod di atas, kami mula-mula mendapatkan data yang disulitkan daripada permintaan. Kemudian, gunakan fungsi nyahsulit yang disediakan oleh Laravel untuk menyahsulit data. Selepas penyahsulitan, kami menukar data kepada tatasusunan bersekutu dan menggantikannya dengan data permintaan asal. Akhir sekali, kami menghantar permintaan kepada perisian tengah atau laluan seterusnya untuk pemprosesan dengan memanggil $next($request).

Seterusnya, kita perlu menggunakan perisian tengah untuk menentukan laluan atau kumpulan penghalaan yang memerlukan penyahsulitan dan penghantaran data.

Cari tatasusunan $middlewareGroups dalam fail app/Http/Kernel.php dan tambah DecryptMiddleware kami kepadanya:

protected $middlewareGroups = [
    'web' => [
        // ...
        // 其他中间件
        // ...
        AppHttpMiddlewareDecryptMiddleware::class,
    ],

    'api' => [
        'throttle:60,1',
        'bindings',
        // 其他中间件
        AppHttpMiddlewareDecryptMiddleware::class,
    ],
];

Dalam coretan kod di atas, kami menambah DecryptMiddleware Pada kumpulan middleware 'web' dan kumpulan middleware 'api'. Ini bermakna semua laluan dalam kumpulan ini akan dinyahsulit oleh DecryptMiddleware.

Kini, kami hanya perlu menggunakan kumpulan perisian tengah ini dalam definisi laluan kami untuk mencapai penyahsulitan dan penghantaran data.

Sebagai contoh, dalam fail route/api.php, kami boleh mentakrifkan laluan berikut:

<?php

use IlluminateSupportFacadesRoute;

Route::group(['middleware' => ['api']], function () {
    Route::post('/users', 'UserController@store');
    // ...
    // 其他路由
    // ...
});

Dalam kod di atas, kami menentukan 'middleware' dalam kumpulan penghalaan pilihan dan ditetapkan kepada ['api'], ini akan menggunakan semua middleware yang didaftarkan dalam tatasusunan 'middlewareGroups' kepada kumpulan laluan ini.

Setakat ini, kami telah menggunakan perisian tengah untuk melaksanakan penyahsulitan dan penghantaran data. Kini, apabila permintaan itu melalui laluan dengan perisian tengah, data akan dinyahsulit secara automatik.

Perlu diingatkan bahawa kami menggunakan fungsi penyulitan dan penyahsulitan menyulitkan dan menyahsulit yang disediakan oleh Laravel dalam contoh. Fungsi ini menggunakan kekunci aplikasi untuk operasi penyulitan dan penyahsulitan. Oleh itu, sebelum menggunakan perisian tengah, pastikan kekunci yang betul disediakan dalam aplikasi anda.

Ringkasnya, dengan menggunakan perisian tengah, kami boleh melaksanakan penyahsulitan dan penghantaran data dengan mudah dalam Laravel. Cuma ikut langkah di atas untuk menjana perisian tengah, tambah perisian tengah kepada kumpulan perisian tengah, dan kemudian gunakan kumpulan perisian tengah dalam laluan yang perlu menyahsulit penghantaran. Dengan cara ini, kami dapat melindungi penghantaran selamat data sensitif pengguna.

Atas ialah kandungan terperinci Cara menggunakan perisian tengah untuk penghantaran penyahsulitan data dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn