فیلتر کردن داده های ورودی در فرم
با سلام و خسته نباشید
من میخوام داده های ارسالی برای فرم تعیین اعتبار که دارای دو فیلد یوزو و پس است را فیلتر کنم و مانع ارسال داده های غیر مجاز بشم!
اما مشکلم اینجاست که نمیدونم باید دقیقا از چه کدی||تابعی استفاده کنم! :اشتباه:
برای فیلد یوزر چه کاراکترهایی رو و برای فیلد پسورد چه کاراکترهایی رو فیلتر کرد؟
در گوگل بسیار جستجو کردم و به کدهای مختلفی بر خوردم.
function qry($query) {
$this->dbconnect();
$args = func_get_args();
$query = array_shift($args);
$query = str_replace("?", "%s", $query);
$args = array_map('mysql_real_escape_string', $args);
array_unshift($args,$query);
$query = call_user_func_array('sprintf',$args);
$result = mysql_query($query) or die(mysql_error());
if($result){
return $result;
}else{
$error = "Error";
return $result;
}
}
(دقیقا این تابع چه کار میکند؟ من متوجه نشدم!)
$Username = preg_replace("([^a-z0-9_]*)", '', $Username);
mysql_real_escape_string
htmlspecialchars
ممنون میشم شما بگید باید از ترکیب چه توابعی استفاده کنم؟
خود دوستان از چه کدی استفاده میکنند؟
با تشکر
نقل قول: فیلتر کردن داده های ورودی در فرم
سلام
روشها مختلف است این روشی که شما فرمودید عبارات منظم نام دارد که برای شروع یادگیری آن می توانید به تاپیک زیر مراجعه کنید(همین تابع preg_match اونجا با مثال هست):
اما یکسری الگوها از پیش تعریف شده که توسط filter ها در php میتوان از آنها استفاده کرد برای آموزش فیلترها به آدرس زیر مراجعه کنید:
موفق باشید.
نقل قول: فیلتر کردن داده های ورودی در فرم
نقل قول:
نوشته شده توسط
صابر طهماسبی
سلام
روشها مختلف است این روشی که شما فرمودید عبارات منظم نام دارد که برای شروع یادگیری آن می توانید به تاپیک زیر مراجعه کنید(همین تابع preg_match اونجا با مثال هست):
اما یکسری الگوها از پیش تعریف شده که توسط filter ها در php میتوان از آنها استفاده کرد برای آموزش فیلترها به آدرس زیر مراجعه کنید:
موفق باشید.
سلام
ممنون از توجه شما.
اطلاعات زیادی درباره کاراکترهایی که مشکل امنیتی در فرم ها درست میکنند ندارم.
من دنبال یه تابع هستم که تمام کاراکترهای غیر مجاز (در پایگاه داده) را فیلتر کند و تابع جامعی باشد.
ممنون میشم شما تابعی که خودتون برای فیلتر کاراکترهای غیرمجاز در فرمهاتون استفاده میکنید را اینجا قرار دهید.
ممنون
نقل قول: فیلتر کردن داده های ورودی در فرم
function Safe_SQL($Str_Input)
{
if(get_magic_quotes_gpc()): function_exists('mysql_real_escape_string') ? stripslashes(mysql_real_escape_string(&$Str_Input) ) : stripslashes(mysql_escape_string(&$Str_Input));
else: function_exists('mysql_real_escape_string') ? addslashes(mysql_real_escape_string(&$Str_Input)) : addslashes(mysql_escape_string(&$Str_Input));
endif;
return($Str_Input);
}
منبع : http://forum.iranphp.org
نقل قول: فیلتر کردن داده های ورودی در فرم
نقل قول:
من دنبال یه تابع هستم که تمام کاراکترهای غیر مجاز (در پایگاه داده) را فیلتر کند و تابع جامعی باشد.
هیچ تابع آماده ای نیست که این کار رو کامل انجام بده
اگر هم باشه اطمینان کامل نیست
بهتر خودت یه بستگی به نوع امنیتی که میخوای برقرار کنی تابع رو بنویسی
نقل قول:
ممنون میشم شما تابعی که خودتون برای فیلتر کاراکترهای غیرمجاز در فرمهاتون استفاده میکنید را اینجا قرار دهید.
من خودم برای هر قسمت از فرم ها از لوگین گرفته تا جستحو و .... چندین نوع فیلتر دارم که متفاوت هست
در کل باید توابع رو با preg_match و چنتا تابع دستی دیگه داشته باشی که مشکلت رو حل کنی