Laravel form için “honey pot” güvenliği

“Honey pot” güvenlik uygulaması temelde csrf ile benzerlik gösterir ancak çok daha basit bir yapıdadır. Form kısmına gizli bir input eklenir ve bu input form gönderildiğinde kontrol edilir. Otomatik form dolduran yazılımlar bu input kısmını otomatik doldurur. Form işleme tarafında bu gizli input kontrol edilir ve herhangi bir içeriğe sahipse form hatası verilir. Elbette %100 güvenlik sağlar diyemeyiz, ancak amaç basitte olsa önlem almaktır.

 

Özel validation genişletmemiz, bu kodları routes.php, validators.php gibi uygun bir konuma ekliyoruz.

// Honet pot
Validator::extend('honey_pot', function($attribute, $value, $parameters)
{
  return $value == '';
});

 

Blade kodlamalı formumuz

{{ Form::open(array('route' => 'post', 'method'=> 'POST')) }}
  {{ Form::text('email', Input::old('email'), array('placeholder' => 'E-posta')) }}
  {{ Form::text('honey_pot', '', array('style' => 'display:none')) }}
  {{ Form::submit('Gönder') }}
{{ Form::close() }}

 

Formu işleyen kodlarımız

// Doğrulama
$rules = array(
  'honey_pot'  => 'honey_pot'
);
$messages = array(
  'honey_pot'      => 'Bu alanda hiçbir şey olmamalı.'
);
$validator = Validator::make(Input::all(), $rules, $messages);

// Doğuralama hatası oluştu
if ($validator->fails())
{
  return Redirect::back()
    ->withErrors($validator)
  ;
}

One thought on “Laravel form için “honey pot” güvenliği
  1. angelside

    Paket olarak çıkarılmış, https://github.com/msurguy/Honeypot

Bir Cevap Yazın