CodeIgniter: db girişi için zaten temiz $ _POST nedir?

5 Cevap php

Bu CI ile benim ilk uygulaması ve ben $ _POST temiz ve ben doğrudan db içine veri eklemek olup olmadığını bilmek istiyorum?

Ben sağladı $config['global_xss_filtering'] = TRUE;

Teşekkür ederiz.

5 Cevap

Hayır, ama $this->input->post() parametreleri XSS filtresinden geçirilerek tüm öğeleri dönecektir olmadan çağırdı.

Bunu kullanırken eğer Ayrıca, CodeIgniter için ActiveRecord belgeler aşağıda belirtilmiştir:

It also allows for safer queries, since the values are escaped automatically by the system.

Eğer veritabanına CodeIgniter's Active Record erişimi kullanırsanız, bu sizin için o ilgilenir gibi değerleri kaçan konusunda endişelenmenize gerek yok.

Hayır, SQL oldukça standart alfa nümerik karakterden oluşur çünkü (the documentation). Sen en azından veri yazıp kullanmak gerekir PHP'nin mysql_real_escape_string() (the documentation).

XSS filtreleme değil oysa Bu, SQL enjeksiyon önler.

Short answer: no Long answer: maybe, if you use more secure DB methods

Bir parametrized işlevini kullanırsanız (ex: pgSQL pg_query_params vardır ()) daha sonra verileri sterilize gerekmez, yalnızca genellikle tatilcilerin kodlama kabul edilir sizin SQL, concat eğer veri sterilize gerekir.

Şeyler CodeIgniter geçerli sürümü (2.0.0) de değişmiş gibi görünüyor ...

$this->input->post çalışmıyor

global_xss_filtering etkin olduğunda ve $_POST otomatik olarak temizlenir.