PDA

View Full Version : تمیز کردن داده های وارد شده توسط کاربر



xoogle.ir
سه شنبه 11 اسفند 1388, 00:53 صبح
داشتم یه تابعی مینوشتم برای پاک کردن داده هایی که توسط کاربر در فرم های مختلف وارد میشه و مستقیما وارد دیتابیس میشه.
این شد نتیجه کار :

function data_cleaner(&$variable){
$variable=preg_replace("~<style(.*)>(.*)</style>~","",$variable);
$variable=preg_replace("~<script(.*)>(.*)</script>~","",$variable);
$variable=trim(addslashes(strip_tags($variable)));
}
تنها قسمتی که درست اجرا میشه آخرین خط تابع است و این مشکلات رو نتونستم برطرف کنم :
1- میخام تگ استایل و هرچی که بین تگ آغازین و پایانی اون بود حذف بشه(الان فقط خود تگ پاک میشه)
2- مورد بالا رو میخام برای برای تگ اسکریپت هم انجام بدم (اینجا هم فقط تگ اسکریپت پاک میشه)
دوستان کمک کنند که این تابع رو کامل کنیم تا یه کد ایمن و مرتب رو خروجی بده.
اگر کسی از تابع کامل تری استفاده میکنه لطفا اون رو اینجا بذاره تا بقیه هم استفاده کنند.

البته این مورد رو به صورت خصوصی از یه نفر پرسیدم اما ایشون در جواب گفتن که در مورد xss attack جستجو کن ظاهرا متوجه نبودن که من اگر با جستجو به نتیجه رسیده بودم مزاحم ایشون نمیشدم.
مرسی