GithubHelp home page GithubHelp logo

php-csrf's Introduction

PHP CSRF

Minimum PHP Version Latest Stable Version Total Downloads License

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

Tələblər

  • PHP 7.3+

Yükləmə

composer require orkhanshukurlu/php-csrf

İstifadə

Funksiyaları istifadə edəcəyiniz fayllarda vendor/autoload.php faylını daxil etmək lazımdır

require __DIR__ . '/vendor/autoload.php';

Funksiyalar

csrf_field(string $name = '_token', int $length = 40) - CSRF token inputu generasiya edir

  • $name - Generasiya olunacaq input-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əri 40 simvol təyin edilmişdir

Funksiya html-də form elementinin daxilində istifadə edilməlidir. Beləliklə typehidden, 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əri 40 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 olunacaq input-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
}

Lisenziya

Laravel MSM MIT lisenziyası altında buraxılıb

Əlaqə

Telegram: Orxan Şükürlü

php-csrf's People

Contributors

orkhanshukurlu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.