הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בדיקת תקינות לפני הכנסה למסד SQL (https://hosts.co.il/forums/showthread.php?t=37951)

O-B 14-01-07 13:56

בדיקת תקינות לפני הכנסה למסד SQL
 
יש הרבה פונקציות ב PHP שמגנות על מסד ועל קוד PHP מפני כתיבה של HTML,תווים כמו ",' וכו..
אז רציתי לשאול איזה פקודה לדעתכם מגנה הכי טוב מפני דברים כאלה?..

nevo 14-01-07 13:58

לדעתי פקודה אחת לא מספיקה הייתי הולך על פונקציה שבניתי מזמן שאני משתמש בה כל הזמן:
PHP קוד:

    function fixString$string ){
        
$string str_replace'&'  '&'$string );
        
$string str_replace''' , '''$string );
        
$string str_replace'"' '"'$string );
        
$string htmlspecialchars$string); 
        
$string trim($string); 
        return 
$string;
    } 

** הפונקציה גם מורידה רווחים כפולים ככה שאם אתה רוצה לבטל את זה תוריד את הtrim

O-B 14-01-07 14:56

ציטוט:

נכתב במקור על ידי nevo (פרסם 405680)
לדעתי פקודה אחת לא מספיקה הייתי הולך על פונקציה שבניתי מזמן שאני משתמש בה כל הזמן:
PHP קוד:

    function fixString$string ){
        
$string str_replace'&'  '&'$string );
        
$string str_replace''' , '''$string );
        
$string str_replace'"' '"'$string );
        
$string htmlspecialchars$string); 
        
$string trim($string); 
        return 
$string;
    } 

** הפונקציה גם מורידה רווחים כפולים ככה שאם אתה רוצה לבטל את זה תוריד את הtrim

אוקי תודה עוד הצעות..

Eli-Hai 14-01-07 16:03

אני אוהב להשתמש ב-strip_tags().

ShoQER 14-01-07 16:06

אני אישית יוצר פונקציה אחת שמרכזת הרבה פונקציות...כאילו זה לא טוב להשתמש רק באחת כי כל פונקציה מטפלת במקרה יחיד...

omercnet 14-01-07 16:48

ציטוט:

נכתב במקור על ידי nevo (פרסם 405680)
לדעתי פקודה אחת לא מספיקה הייתי הולך על פונקציה שבניתי מזמן שאני משתמש בה כל הזמן:
PHP קוד:

    function fixString$string ){
        
$string str_replace'&'  '&'$string );
        
$string str_replace''' , '''$string );
        
$string str_replace'"' '"'$string );
        
$string htmlspecialchars$string); 
        
$string trim($string); 
        return 
$string;
    } 

** הפונקציה גם מורידה רווחים כפולים ככה שאם אתה רוצה לבטל את זה תוריד את הtrim

למה להפוך סימני HTML לתוים אמיתיים, ואז להחזיר אותם בחזרה לתוי HTML עם htmlspecialchars ?

עד היום השתמשתי רק ב mysql_real_escape_string
שזה מסדר לך הכל, ואם אתה רוצה להיות מסודר, תשתמש בquote_smart הבא:
PHP קוד:

function quote_smart($value)
{
   
// Stripslashes
   
if (get_magic_quotes_gpc()) {
       
$value stripslashes($value);
   }
   
// Quote if not a number or a numeric string
   
if (!is_numeric($value)) {
       
$value "'" mysql_real_escape_string($value) . "'";
   }
   return 
$value;



The Crow 15-01-07 00:21

http://www.php.net/addslashes


כל הזמנים הם GMT +2. הזמן כעת הוא 18:12.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ