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

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

miniature 13-07-06 18:14

אין כזאת פונקציה clean לפי PHP.NET ..
בקשר לשניה:
http://il.php.net/manual/en/function...es-runtime.php
http://il.php.net/manual/en/function...es-runtime.php

אשמח אם תעזור לי להשתמש בהן .

RS324 13-07-06 18:50

שוב, CLEAN זה פונקציה שאני בניתי שמריצה את הפונקציה MYSQL_REAL_ESCAPE_STRING
על כל איברי המערך.

וככה מגינה מפני התקפות של SQL לפני הכנסה למסד הנתונים

עכשיו לגבי MAGIC QOUTE

אני אסביר, אפשרות זו היא אפשרות שנועדה למתכנתים מתחילים, בפשטות MAGIC QOUTES
מוסיף סלאשים למשתנים הגלובלים , GET POST וכד'. בדומה ל ADDSLASS
עכשיו, לא לכל שרת אפשרות זו פועלת, מה גם שאפשרות זו מאיטה את ה PHP
לכן לא מומלץ להשתמש בה ובגלל זה רב השרתים לא מפעילים אותה.
אבל אי אפשר לסמוך על זה

לדוגמא, בניתי מערכת דיי גדולה, בסביבות ה 3 אלף שקל.

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

כלומר אם MAGIC QOUTE פעיל...אז תעשה stripslashes לכל איברי המערכים של המשתנים הגלובלים וכמה שיותר מוקדם יותר טוב,
לדוגמא אני משתמש בקובץ GLOBAL אז זה בין השורות הראשונות שאני שם.

עכשיו מה שאתה צריך לעשות זה לבנות פונקציה שתעבור על המשתנים הגלובלים ותמחוק את הסלאשים ש MAGIC QOUTES יצר
לאחר מכן להוסיף שורה אחת שתבטל את ה MAGIC QOUTE להמשך הסקריפט

וככה אתה מבטל להמשך הסקריפט
set_magic_quotes_runtime(0);
@ini_set('magic_quotes_sybase', 0);

עכשיו המלצה שלי - לא כל כך קשור לטרייד תעשה בדיקה דומה ל REGISTER GLOBAL

אם לא הבנת משהו, תגיד בדיוק מה...

miniature 13-07-06 23:27

את זה:
PHP קוד:

set_magic_quotes_runtime(0);
@
ini_set('magic_quotes_sybase'0); 

לכתוב לפני / אחרי הוצאת הנתונים? ואיפה בדיוק?

RS324 14-07-06 00:11

PHP קוד:

<?php
set_magic_quotes_runtime
(0);
@
ini_set('magic_quotes_sybase'0); 


//rest of script here
?>

כמובן שזה לא יעזור לך הרבה, כלומר אתה בכל מקרה צריך להעיף את הסלאשים שנוצרו ורק לאחר מכן
לבטל את האפשרות של MAGIC

miniature 14-07-06 00:26

אז למה בכלל צריך את השורות האלו?

RS324 14-07-06 01:02

בשביל שהשרת לא ימשיך להתנהג ככה, כלומר אחרי שהפעלת את השורות האלה אז MAGIC QOUTES מכובה ואתה לא צריך לדאוג לגביו יותר, אבל הוא לא מכבה את זה באופן רטואקטיבי על המשתנים שכבר נוצרו

להזכירך SUPER GLOBALS נוצרים לפני שאתה נותן כל פקודה בכלל

כלומר שלפני השורות האלה אתה תאלץ עדיין להתמודד עם השינוי ש
GET ו POST וכל השאר עברו...
יש מבין ?

miniature 14-07-06 01:29

לא, וגם לא נראה לי שזה כל כך הכרחי להשתמש בזה.

RS324 14-07-06 12:29

חכה עד שתיפול במערכות גדולות, כמו שקרה לי...

miniature 14-07-06 17:20

כשאני אתכנת מערכת גדולה אתה תהיה הראשון לבדוק אותה :) . אוקיי?


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

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