PHP - tüm verileri sterilize?

0 Cevap php

Ben üçüncü parti geliştiriciler tarafından uzatılabilir bir CMS yapıyorum. Geçmişte ben acemi geliştiricilerin hep birlikte güvenliğini ihmal ile ilgili sorunlar vardı. Siteme kendi modüllerini koyduğunuzda, potansiyel kullanıcılar web siteleri taviz vardır.

Ben bir globallerinin nesnesi oluşturmak istiyoruz. Bu bir dezenfekte kopya ile tüm küresellerle üzerine yazılır. Bu sorunlar neden olabilir, bu nedenle bu nesne de sağlıksız verileri almak için bir seçenek sunacaktır.

Bu şekilde, varsayılan olarak, geliştiriciler teorik böyle bir şey yapabileceğini ve etkisinin genellikle olacak kadar kötü olmazdı bu. (Tablolar düştü olmayacak ve veri maruz olmayacak ancak Açıkçası bu hala potansiyel sorunlara neden olur.)

mysql_query("INSERT INTO users (`name`) VALUES ('{$_POST['name']}')");

Bu kasıtlı şeyleri kırmaya çalışın geliştiriciler karşı koruma sağlamaz. Ancak, temel hatalar ortadan kaldırmaya yardımcı olacaktır.

Aşağıdaki gibi uç nesne erişilebilir olacaktır.

$_POST['key']; // Provides Sanitized version of the post key.
$obj->post('key'); // Provides Sanitized version of the post key.
$obj->post_raw('key'); // Provide unsanitized version of the post key.

Insanlar bu yaklaşım hakkında ne düşünüyorsunuz? Etrafında yüzen kanıtlanmış bir 'kaçış tüm' fonksiyonu bunu başarmak istiyorsunuz var mı?

0 Cevap