PHP code example of robyajo / pasak

1. Go to this page and download the library: Download robyajo/pasak library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

robyajo / pasak example snippets


namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Internal\Pasak\Concerns\HasSecurityRelations;

class User extends Authenticatable
{
    use HasSecurityRelations;

    // ...
}

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Middleware;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
    ->withMiddleware(function (Middleware $middleware) {
        // Daftarkan penegakan WAF dan blokir IP secara global
        $middleware->append(\Internal\Pasak\Http\Middleware\BlockIpAddress::class);
        $middleware->append(\Internal\Pasak\Http\Middleware\DetectSecurityThreats::class);

        // Lacak aktivitas sesi pengguna di grup web
        $middleware->web(append: [
            \Internal\Pasak\Http\Middleware\TrackUserActivity::class,
        ]);

        // Alias middleware keamanan
        $middleware->alias([
            'pasak.block' => \Internal\Pasak\Http\Middleware\BlockIpAddress::class,
            'pasak.detect' => \Internal\Pasak\Http\Middleware\DetectSecurityThreats::class,
            'pasak.admin' => \Internal\Pasak\Http\Middleware\EnsureSecurityAdmin::class,
            'pasak.activity' => \Internal\Pasak\Http\Middleware\TrackUserActivity::class,
        ]);
    })
    ->create();

protected $middleware = [
    // ...
    \Internal\Pasak\Http\Middleware\BlockIpAddress::class,
    \Internal\Pasak\Http\Middleware\DetectSecurityThreats::class,
];

protected $middlewareGroups = [
    'web' => [
        // ...
        \Internal\Pasak\Http\Middleware\TrackUserActivity::class,
    ],
];

protected $middlewareAliases = [
    'pasak.block' => \Internal\Pasak\Http\Middleware\BlockIpAddress::class,
    'pasak.detect' => \Internal\Pasak\Http\Middleware\DetectSecurityThreats::class,
    'pasak.admin' => \Internal\Pasak\Http\Middleware\EnsureSecurityAdmin::class,
    'pasak.activity' => \Internal\Pasak\Http\Middleware\TrackUserActivity::class,
];

use Internal\Pasak\Rules\SafeImageFile;

$request->validate([
    'avatar' => ['

use Internal\Pasak\Rules\SafeAssetPath;

$request->validate([
    'icon_path' => ['
bash
php artisan pasak:install
bash
php artisan migrate
bash
php artisan pasak:install --with-dashboard
# atau: php artisan vendor:publish --tag=plain-views
bash
# Menampilkan status verifikasi integritas berkas
php artisan pasak:baseline

# Membuat baseline baru
php artisan pasak:baseline --create

# Menghapus baseline
php artisan pasak:baseline --destroy
bash
php artisan pasak:unblock-ip 198.51.100.50
apache
    <FilesMatch "\.(php[0-9]?|phtml|pht|phar|phps|asp|aspx|ashx|asmx|jsp|jspx|cgi|pl|py|rb|sh|bash|exe|dll|bat|cmd|scr)\.[a-z0-9]+$">
        Require all denied
    </FilesMatch>