CKFinder adalah sebuah aplikasi web yang memungkinkan pengguna untuk dengan mudah mengelola dan mengunggah file ke server. Aplikasi ini sering digunakan sebagai manajer file untuk situs web dan sistem manajemen konten.
Berikut cara integrasi CKFinder di Laravel
Instal melalui Composer
$$
composer require ckfinder/ckfinder-laravel-package
$$
Download CKFinder kode melalui perintah artisan
After installing the Laravel package you need to download CKFinder code. It is not shipped with the package due to different license terms. To install it, run the following artisan
command:
$$
php artisan ckfinder:download
$$
Perintah diatas akan mengunduh kode yang dibutuhkan dan ditempatkan pada direktori: vendor/ckfinder/ckfinder-laravel-package/
Publis konfigurasi konektor dan aset ckfinder dengan perintah:
$$
php artisan vendor:publish --tag=ckfinder-assets --tag=ckfinder-config
$$
This will publish CKFinder assets to public/js/ckfinder
, and the CKFinder connector configuration to config/ckfinder.php
.
CKfinder asset tersimpan pada public/js/ckfinder, sedangkan CKFinder konfigurasi konektor terletak pada config/ckfinder.php.
Buat dan izinkan akses tulis untuk satu folder khusus dalam direktori projek untuk menampung file ckfinder
CKFinder secara default menggunakan mekanisme perlindungan CSRF berdasarkan cookie pengiriman ganda. Pada beberapa konfigurasi mungkin diperlukan untuk mengkonfigurasi Laravel agar tidak mengenkripsi cookie yang disetel oleh CKFinder. Untuk melakukannya, tambahkan nama cookie ckCsrfToken ke properti $except middleware EncryptCookies seperti dibawah ini:
$$
// app/Http/Middleware/EncryptCookies.php
namespace App\Http\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
class EncryptCookies extends Middleware
{
/**
* The names of the cookies that should not be encrypted.
*
* @var array
*/
protected $except = [
'ckCsrfToken',
// ...
];
}
$$
Anda juga harus menonaktifkan perlindungan CSRF Laravel untuk jalur CKFinder, karena CKFinder menggunakan mekanisme perlindungan CSRF-nya sendiri. Hal ini dapat dilakukan dengan menambahkan pola ckfinder/* ke properti $except middleware VerifyCsrfToken: (app/Http/Middleware/VerifyCsrfToken.php)
$$
// app/Http/Middleware/VerifyCsrfToken.php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
/
protected $except = [
'ckfinder/',
// ...
];
}
$$
Selamat Mencoba
Sumber: https://github.com/ckfinder/ckfinder-laravel-package