فیلتر مقادیر ورودی از عبارات خطراناک

meysamz

Member
همانطور که می دانید با استفاده از دستورات ساده ای می توان یک کد مخرب نوشت
حالا ما یک فرم داریم که یک چند تا فیلد دارد که اطلاعات را دریافت می کنند و در صفحه ای نیز نمایش می دهند
اگر ما هیچ گونه فیلتری روی مقادیر ورودی نگذاریم طرف می تواند هر کد را بنویسد
برای مثال من می خواهم کاربر قادر به تایپ یا ارسال کارکتر های
*
یا
/
یا
\
نباشد. می دانم این کار بیشتر مربوط به جاوا اسکریپت است اما پی اچ پی کار ها بیشتر واردند
ممنون میشم راهنمایی کنید
 

tarhebartar

Member
بله همان طور که می دانید * اصلا خطری نداره :neutral:

برای بقیه هم توابع زیادی در خود php هستش !

سرچ کنید قبلا دوستان توضیح دادند !
 
سلام دوست عزیز
تا اونجا که من با پی اچ پی کار کردم
می تونی با دستورات If کارت راه بیوفته
if($name=="/"){echo"این فیلد مجاز نمی باشد"}​
یا می تونی از کد زیر
preg_match()
که سرچ کنی زیاد هستش
 

D.A.V.O.O.D

Member
سلام
برای چک کردن اینکه یه کاراکتر توی یه کلمه هست یا نه از تابع های strpos ، substr_count ، strstr ، eregi و ... می تونی استفاده کنی ، اما اگه واسه injection نشدن می خوای ، نیازی به این کار نیست ، چون تابع های زیادی هستند که می تونند ورودی شما رو به صورت امن در بیارند ، مثل تابع زیر :

PHP:
function CheckInput( $Source , $Type )
{
    if( $Type == "text" )
    {
        $Source = htmlspecialchars( trim( $Source ) );
    } else
    if( $Type == "int" )
    {
        $Source = intval( trim( $Source ) );
    }
        
    if(! get_magic_quotes_gpc() )
    {
        $Source = addslashes( $Source );
    }
    return $Source;
}
 

جدیدترین ارسال ها

بالا