PHP-CSRF sizə veb-saytınızı CSRF hücumlarından qorumaq üçün bir sıra funksiyalar təklif edir. Bu funksiyalardan istifadə edərək yazdığınız vebsaytı həm daha təhlükəsiz etmiş olacaqsınız həm də botlardan və arzuolunmaz insanlardan uzaq tutacaqsınız
- PHP 7.3+
composer require orkhanshukurlu/php-csrf
Funksiyaları istifadə edəcəyiniz fayllarda vendor/autoload.php
faylını daxil etmək lazımdır
require __DIR__ . '/vendor/autoload.php';
csrf_field(string $name = '_token', int $length = 40) - CSRF token inputu generasiya edir
$name
- Generasiya olunacaqinput
-un adıdır (name
-i). İlkin olaraq dəyəri_token
təyin edilmişdir$length
- Generasiya olunacaq tokenin simvol sayıdır. İlkin olaraq dəyəri40
simvol təyin edilmişdir
Funksiya html
-də form
elementinin daxilində istifadə edilməlidir. Beləliklə type
-ı hidden
, name
-i _token
, value
-si 40
simvoldan ibarət olan input
generasiya olunacaq. İstifadəsi aşağıdakı kimidir:
<?php require __DIR__ . '/vendor/autoload.php'; ?>
<form action="#" method="POST">
<?= csrf_field(); ?>
</form>
Generasiya olunan input
html
-də aşağıdakı kimi görünəcək:
<input type="hidden" name="_token" value="a60e5c1048225b366c4d48c0f87e07ad2cad3583">
csrf_token(int $length = 40) - CSRF token dəyəri generasiya edir
$length
- Generasiya olunacaq tokenin simvol sayıdır. İlkin olaraq dəyəri40
simvol təyin edilmişdir
Funksiya 40
simvoldan ibarət token generasiya edir. Əgər yalnız token dəyəri lazımdırsa bu funksiyanı istifadə edə bilərsiniz. İstifadəsi aşağıdakı kimidir:
<?php
require __DIR__ . '/vendor/autoload.php';
echo csrf_token();
Generasiya olunan token aşağıdakı kimi görünəcək:
a60e5c1048225b366c4d48c0f87e07ad2cad3583
csrf_validate(array $request, string $name = '_token') - CSRF tokenin doğruluğunu yoxlayır
$request
- Tokenin doğru olub olmadığını yoxlamaq üçün göndəriləcək dəyişəndir$name
- Generasiya olunacaqinput
-un adıdır (name
-i). İlkin olaraq dəyəri_token
təyin edilmişdir
Funksiya form
-da göndəriləcək tokenin doğru olub olmadığını yoxlayır. Beləliklə form
göndəriləndə token dəyəri düzgündürsə true
, düzgün deyilsə false
dəyəri geri döndürür. Funksiyaya parametr kimi $_GET
, $_POST
və ya $_REQUEST
dəyişənlərindən biri ötürülməlidir. İstifadəsi aşağıdakı kimidir:
<?php
require __DIR__ . '/vendor/autoload.php';
if (csrf_validate($_POST)) {
// Token dəyəri düzgündür, heç bir xəta yoxdur
} else {
// Token dəyəri düzgün deyil, xəta baş verdi
}
Laravel MSM MIT lisenziyası altında buraxılıb
Telegram: Orxan Şükürlü