2014-10-05 20 views
8

dezenfekte etmem gerekiyor mu? Eloquent ile Laravel 4 kullanıyorum. Ben kullanıcı girişini olsun fonksiyon Input::get SQL Enjeksiyon ve XSS beni korumak eğer bilmiyorum ben sadece $name=Input::get('name') kullanmak ve sonra $a->name=$name;Kullanıcı girdisini Laravel

yok. Eğer değilse, girdileri dezenfekte etmek için ne yapmalıyım?

Ve, benim görünümünde değeri göstermek, ben {{$a}} veya {{{$a}}}

Tebrik ve teşekkür kullanacaktır.

+0

diğer cevaplara ek olarak, eğer $ doldurulabilir alanlarını belirlemek için (bütün() Girdi ::) emin olun yeni Something gibi bir şey kullanmaya karar Bir şey modelinde, kitle atamasına karşı korumak için. Sorularınızla ilgili değil, farkında olmak için bir şey. –

cevap

10

laravel bağlayıcı PDO'su parametresini kullanır, bu nedenle SQL enjeksiyon dert gereken bir şey değildir hakkında. Yine de this'u okumalısınız.

Giriş :: get() hiçbir şeyi filtrelemez. Üçlü kaşlı ayraçlar, e() ve HTML :: entities() ile aynı şeyi yapar. Hepsi de UTF-8 desteği ile htmlentities çağırır:

htmlentities($your_string, ENT_QUOTES, 'UTF-8', false); 
+0

Eğer {{{bunu göstermek için kullanırsam, bilgileri kaydederken de htmlentities kullanmalı mıyım? – Fylux

+2

Çıkış çıkışı, giriş değil. –

+0

Teşekkürler, ama neden? – Fylux

3

Örneğin, Giriş'in HTML etiketine sahip olması nedeniyle {{{$a}}} kullanmalısınız. Laravel onu filtrelemez.

Eğer sevdiği parametreleri çalışan sorguları bağlamak kullanmalıdır SQL enjeksiyonu önlemek için:

$var = 1; 
$results = DB::select('select * from users where id = ?', array($var)); 

değil:

$results = DB::select('select * from users where id = '.$var); 
+0

Bu yüzden htmlentities kullanmalı mıyım? Input :: filtresi nasıl alır? – Fylux

+0

@Fylux Bildiğim kadarıyla POST, GET ve benzeri veriler elde etmek için bir arayüz. Verileri düzeltir, ancak filtrelenmez, bu yüzden üçlü bracing'i kullanmanız gerekir - bu şekilde "htmlentities" işlevi –

+0

değişken değeri üzerinde çalıştırılır. {{{Göstermek için kullanırsam, bilgileri kaydederken htmlentities kullanmalı mıyım? ? – Fylux

İlgili konular