לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 21-04-2009, 20:39
  DanDanM DanDanM אינו מחובר  
 
חבר מתאריך: 16.09.08
הודעות: 433
תכנות נכון , מה עומד מאחורי הביטוי הזה?

טוב , הרבה אנשים אומרים אם תתכנת נכון לא יהיו לך פריצות במערכת ועוד.
החלטתי לעשות דיון שכל אחד יוסיף בו דרכים להגיע 'לתכנות נכון'.

אני אתחיל , כאשר אתם מקבלים נתונים מGET לשאילתה השתמשו בתו ' (גרששים) שמונע הכנסת תווים לשאילתה.

עוד טיפ זה נגיד שיש לנו שאילתה כזאת:
קוד PHP:
 $get $_GET['get'];
$sql mysql_query("select * from X where id={$get}); 


כאן אנו חשופים ל SQL INJECTION , כיצד ניתן לפתור זאת?כך:
קוד PHP:
 $get =mysql_escape_string$_GET['get']);
$sql mysql_query("select * from X where id='{$get}'"); 

- שימו לב לפונקציה mysql_escape_string וגם לגרשיים בשאילתה.

אלו הטיפים שלי , מי שיש לו עוד טיפים מוזמן להוסיף...
_____________________________________
היי,
שמי דן , ואשמח לעזור לכם בכל פנייה שהיא
ניתן ליצור איתי קשר באיימיל (DanDan@walla.com) במסנג'ר (DanDan@walla.com) ובאיסיקיו (12348188)

גלישה נעימה...


נערך לאחרונה ע"י DanDanM בתאריך 21-04-2009 בשעה 20:54.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 22-04-2009, 16:05
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 1 שנכתבה על ידי DanDanM שמתחילה ב "תכנות נכון , מה עומד מאחורי הביטוי הזה?"

אכן זו הדרך לסינון המידע שנכנס לשאילתות, רק ברשותך אתקן דברים קטנים:

זה לא מומלץ להשתמש בפונקציה mysql_escape_string עבור סינון המידע, אלא נהוג יותר להשתמש בפונקציה mysql_real_escape_string, וההסבר לכך מובא בדוקומטנציה של PHP על הפונקציות.

דבר נוסף - כאשר תוחמים ערך\מידע עם גרשיים ( " או ' ), זה אמור להיות מידע מסוג מחרוזת, למרות שאפשר לתחום בגרשיים מידע שהוא (למשל) מספר, לפחות אצל mysql.

יש מקרים מסוימים ו\או מסדי נתונים אחרים שמבריחים בצורה שונה את התוים.

אני חושב שכדאי ליצור מחלקה שמטפלת בנושא של מסד הנתונים כמו התחברות וכד', ובין היתר גם בסינון של המידע, כדי שתהיה שליטה טובה על אופן הסינון.

בנוגע ל-mysql, כדאי ליצור מחלקה היורשת את מחלקת mysqli שהיא הרחבה של מחלקת mysql. זה מאפשר שימוש ב-OOP של PHP5.

בכלל לדעתי הנושא הזה של סינון מידע דורש קצת יותר פירוט והסבר. אני חושב שאנשים לא מבינים היטב את הנושא של פורמט שליחת מידע (מכל סוג שהוא), זה פשוט עדיין לא יושב כ"כ טוב בראש אצל מתחילים שכל נושא ה-web נופל עליהם בבת אחת.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #11  
ישן 25-04-2009, 20:58
  liron_e liron_e אינו מחובר  
 
חבר מתאריך: 17.09.07
הודעות: 75
בתגובה להודעה מספר 1 שנכתבה על ידי DanDanM שמתחילה ב "תכנות נכון , מה עומד מאחורי הביטוי הזה?"

הי,
רציתי לשאול אם האבטחה שלי טובה?

בעצם מה שהיא עושה היא מחליפה תווים שיכולים לגרום לבעיות, וגם אפשר אחר כך להציג את התווים האלה והם בעצם לא יעשו כלום..



קוד PHP:
 function Sec($post)
{
$char[0] = "&";
$char[1] = "<";
$char[2] = ">";
$char[3] = "'";
$char[4] = '"';

$char_e[0] = "&amp;";
$char_e[1] = "&lt;";
$char_e[2] = "&gt;";
$char_e[3] = "&quot;";
$char_e[4] = "&apos;";

    
$post trim(stripslashes($post));
    for (
$i=0;$i count($char); $i++)
        
$post str_replace($char[$i],$char_e[$i],$post);

    return 
$post;
}
function 
POST($post)
{
    
$post Sec($_POST[$post]);
    return 
$post;
}
function 
GET($get)
{
    
$get Sec($_GET[$get]);
    return 
$get;


_____________________________________

[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://up4u.us/GD/info.jpg]


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 21:45

הדף נוצר ב 0.05 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר