ציטוט:
נכתב במקור על ידי MasterT
אני מרגיש הרבה יותר בטוח כשיש לי קלאס שמיועד אך ורק לקבלת הפלט, העיבוד שלו, ושמירתו כמשתנה חדש $this->input, ויש לי עוד קלאס שמיועד לפעולות במסד - כאשר אני לא משתמש ב-$DB->query, אני משתמש רק ב-$DB->insert(array("name" => "value"), "table"); כאשר כמובן יש עוד אפשרויות לדברים יותר מתקדמים.
ואני יודע שאין סיכוי שמשהו רע יכנס - אני יודע גם ששום דבר רע לא יצא. שיכניסו לא רק אותיות, שיכניסו הכל - מה שהם רוצים. כל עוד זה לא עובד את ה-MAX QUERY SIZE - שיהיה להם בהצלחה. זה עבר? חבל, לא נכנס. ככה בעיניים עצומות אני יודע שאין שום בעייה.
איפה נוצרת הבעייה? כשאני מתעסק עם קודי מקור של אתרים. אז גם אז צריך לדעת מה לעשות. אגב, אם כבר מעלים את כל הדברים האלה,
http://www.nabble.com/The-PHP-filter...d22508904.html
משהו מעניין.
|
אתה לא היחיד שעובד עם קלאס לעיבוד קלט, אבל כמו שהבנתי ממך המחלקה שלך בעצם מפעילה סינון על כל קלט לא משנה מה הוא, וזאת שיטת עבודה לא נכונה לטווח הארוך אם תרצה דווקא איזשהו קלט שלא יעבור סינון.
הכוונה שלי היא לעבוד ככה:
PHP קוד:
$user_insert_data = array(
"gid" => intval($core->post['group']),
"fullname" => $db->escape_string($core->post['fullname']),
"username" => $db->escape_string($core->post['username']),
"email" => $db->escape_string($core->post['email']),
"password" => salt_password($core->post['password']),
"reg_time" => TIME_NOW
);