PDA

View Full Version : کد php برای امنیت داده های ورودی



meysam7972
جمعه 06 تیر 1393, 20:28 عصر
با سلام آیا کدی در زبان php وجود داره که بشه روی اطلاعات ورودی قیلتر گذاشت؟

emadrezvani
جمعه 06 تیر 1393, 20:41 عصر
چه نوع قیلتری؟

meysam7972
دوشنبه 09 تیر 1393, 08:32 صبح
با سلام هرنوع فیلتری باشه مهم نیست
میخوام فیلدهام از لطاظ باگ xss و ... امنیت داشته باشه

metal gear solid 4
دوشنبه 09 تیر 1393, 08:45 صبح
Sanitize filters (http://www.php.net/manual/en/filter.filters.sanitize.php)

php_programmer021
سه شنبه 31 تیر 1393, 09:17 صبح
سلام
دوستان کسی می تونه مثلا برای امن کردن ورودی های کاربر با مثال توضیح بده؟
مثلا ورودی که فقط حروف باشه و ورودی های عددی و ایمیل و تصویر و چک باگس و بقیه ورودی ها .
و اینکه چطور ورودی که آدرس یه شخص رو باید فیلتر کرد توی جایی که آدرس برای پست می خوایم بگیریم.
با تشکر

Yousha
یک شنبه 23 شهریور 1393, 14:04 عصر
یه سر به تاپیک های این بخش بزن: http://forum.iranphp.org/Forum-%D8%A7%D9%85%D9%86%DB%8C%D8%AA--28

omidabedi
یک شنبه 23 شهریور 1393, 18:02 عصر
از تابع filter_var استفاده کن و فیلتر هاشم اونایی هستند که اقای
metal gear solid 4 (http://barnamenevis.org/member.php?76293-metal-gear-solid-4)


گفتند

و این لینک
http://php.net/manual/en/filter.filters.php

HRMadani
سه شنبه 08 مهر 1393, 14:35 عصر
به نام خدا
درود

شما کافیه فقط کارهای زیر رو انجام بدی :

1- با یه شرط ساده می تونی چک کنی که اطلاعات فرمت دقیقا از سایت خودت رسیده نه از سایت دیگری (جلوگیری از حمله ای معروف به form spoofing)
تکه کد آماده برای این کار :

$strs = explode('/', $_SERVER['HTTP_REFERER'] );
if ( strcmp($strs[2] ,$_SERVER['HTTP_HOST'])!=0)
{
header("HTTP/1.1 404 OK");
exit;
}


2- فیلتر کردن ورودی ها بر اساس نوع و حذف کاراکترهای اضافی (برای جلوگیری از حملات SQL Injection)


function sql_injectio_filtering( $value )
{
if( get_magic_quotes_gpc() ) {
$value = stripslashes( $value );
}
//check if this function exists
if( function_exists( "mysql_real_escape_string" ) ) {
$value = mysql_real_escape_string( $value );
}
//for PHP version < 4.3.0 use addslashes
else {
$value = addslashes( $value );
}
return $value;
}


3- فیلتر دو کاراکتر > و < و برای اطمینان بیشتر کاراکترهای ' و " (برای جلوگیری از حملات XSS):

این کار هم به راحتی از طریق تابع htmlentities انجام میشه ولی برای اطمینان بیشتر هم میتونید دستی ورودی هاتون رو فیلتر کنین که این کار هم با تکه کد زیر انجام میشه:

$array = array("<",">","*","~","+","\,",":",";","?","[","/","|","]","^","`","=","$");
$input = str_replace($array,' ',$input);

که در آرایه ای که تعریف شده کاراکترهای اضافی فیلتر شده است.

با این کارها تا حد قابل قبولی ورودی ها و فرم هاتون ایمن میشن.
دقت کنید ورودی هاتون هم POST هست و هم GET

Mori Bone
سه شنبه 08 مهر 1393, 15:01 عصر
با سلام آیا کدی در زبان php وجود داره که بشه روی اطلاعات ورودی قیلتر گذاشت؟
تو رو خدا جستجو کنید. اینقدر این انجمن رو خراب نکید. چقدر مدیران اخطار بدن.:عصبانی: تورو به خدا. اینقدر اسپم ندید:عصبانی++: