הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 17-06-10, 14:27   # 1
HOLD
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2008
הודעות: 623

HOLD לא מחובר  

שאלות ב-php

שלום, במקום לפתוח מלא אשכולות, פתחתי אחד מרוכז
אשמח אם כל אחד יענה על מה שהוא יודע.

1)אם אני מדפיס משהו החוצה, ולא צריך לשמור אותו, מה יותר יעיל?

PHP קוד:
echo $Str.$User
או
PHP קוד:
echo $Str;
echo 
$User

2)האם ההגנה הזאת:

PHP קוד:
$Str mysql_real_escape_string($Str,$Link); 
מספיקה לכל איומי האבטחה מהקלט? או שיש עוד דברים שצריך לעשות עם הקלט? (חוץ מבדיקה האם ערך מספרי - כשאתה מקבל ערך מספרי)

3)האם זה חכם לעשות חיפוש באתר על REGEXP כמו זה?
PHP קוד:
Select Id From Table WHERE Text REGEXP 'mysql_real_escape_string($_GET['Text'],$Link)' 
או שיש דרך יותר יעילה להוציא תוצאות בחיפוש?
ומשהו נוסף בנושא, איזה תווים של REGEXP יש? (כדי שאני אסנן אותם)

4)האם השאילתא הזאת מספיק מאובטחת?
PHP קוד:
$result=mysql_query("SELECT * FROM Users WHERE Name='".mysql_real_escape_string($_GET['Name'],$Link)."'",$link); 
או שיש דרך "להקשיח" אותה יותר?

5) מה ההבדל בין die ל exit? שינהם סוגרים את הסקריפט ו-die גם כותב הודעה?

6) איך אני נועל הצגת שגיאות? (אני דואג שלא יהיו , אבל לך תדע..)
כשהאתר רץ, לא בא לי שמשתמשים רגילים יראו שגיאות, כי הצגת שגיאה זו פריצת אבטחה לכל דבר, יש שם מידע, שאתה לא רוצה שידעו.

פשוט איך אני דואג שיהיה עמוד שגיאה מסודר, ושהשרת לא יראה דברים כאלה "Fatal error: An sql error occurred.....".

ועוד משהו בנושא, איך אני מקבל את השורת שגיאה, למרות שהסתרתי אותה? (בשביל רישום בלוג)

7) כשאני רוצה ליצור האדר (חלק עליון) וחלק תחתון בכל העמודים אותו הדבר אני משתמש ב-include:
PHP קוד:
include('myheader.php'); echo 'Hello World!'; include('myfooter.php'); 
יש דרך יותר יעילה?


תודה.
  Reply With Quote
ישן 17-06-10, 14:58   # 2
Shay Ben Moshe
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 1,397

Shay Ben Moshe לא מחובר  

1) לא בדקתי אבל אני מאמין ששירשור מאשר שתי הדפסות.

2) בגדול זה אחלה

3) קרא על CONTAINS וLIKE, יותר יעיל.

4) זה נראה לי סבבה

5) אין שום הבדל. בכלל. (http://www.php.net/manual/en/function.die.php)

6) error_reporting(0);
נסה את זה והפונקציות שבצד: http://www.php.net/manual/en/functio...r-get-last.php

7) זה סבבה, אני אישית מעדיף קובץ שעושה include לחלק המרכזי מאשר כמה קבצים שעושים include לעליון ותחתון.

בהצלחה!
__________________
שי בן משה - בונה אתרים
חותך אתרים, ומתכנת צד לקוח וצד שרת.
  Reply With Quote
ישן 17-06-10, 16:33   # 3
benb
חבר בקהילה
 
benb's Avatar
 
מיני פרופיל
תאריך הצטרפות: Apr 2010
הודעות: 138

benb לא מחובר  

1. אני זוכר שנתקלתי באיזשהו מקור שמראה שדווקא שירשור לוקח יותר זמן, אבל תנסה להשתמש בפונקציה TIMER שמודדת לך כמה זמן רץ כל חלק בקוד שלך וככה תדע בוודאות.
2. ראיתי שרשמת "קלט" אז זה בכלל לא מספיק! כל קלט מהמשתמש אתה חייב לבדוק ולא מספיקה פונקציה שעושה אסקייפ לתוים מיוחדים שנותנת הגנה רק עבור הזרקות לבסיס הנתונים. כי כשאתה שולף אותו ומציג למשתמש הוא חוזר להיות כמו שהוא, למשל קוד HTML ואז זה יגרום ל XSS. תקרא על הפונקציה htmlentities
3. תשתמש ב LIKE בכדי למצוא מחרוזת בטקסט.
4. תעשה הגנה גם על ה $LINK משתמשים יכולים להכניס שם כל מיני שטויות ב GET
5. ה DIE נותן לך להוסיף טקסט ו EXIT אתה יכול להוציא מספר מסויים שאפשר אחרי זה לדעת באיזה חלק בקוד זה קרה, אני לא ממש בטוח שזה מדוייק.
6. ERROR REPORTING כמו שהמליצו לך.
7. כל INCLUDE שלך זה גורם לקובץ שונה להיקרא עדיף לשים בקובץ אחד דברים שאתה משתמש בהם לעיתים תכופות. יותר יעיל.
8. חפש בגוגל!!! יש תשובות להכל אתה לא הראשון שנתקל בשאלות האלו גם אני חשבתי על אותן שאלות בעבר.
  Reply With Quote
ישן 17-06-10, 21:18   # 4
HOLD
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2008
הודעות: 623

HOLD לא מחובר  

ציטוט:
נכתב במקור על ידי Shay Falador צפה בהודעה
1) לא בדקתי אבל אני מאמין ששירשור מאשר שתי הדפסות.

2) בגדול זה אחלה

3) קרא על CONTAINS וLIKE, יותר יעיל.

4) זה נראה לי סבבה

5) אין שום הבדל. בכלל. (http://www.php.net/manual/en/function.die.php)

6) error_reporting(0);
נסה את זה והפונקציות שבצד: http://www.php.net/manual/en/functio...r-get-last.php

7) זה סבבה, אני אישית מעדיף קובץ שעושה include לחלק המרכזי מאשר כמה קבצים שעושים include לעליון ותחתון.

בהצלחה!
תודה רבה,
אשמח אם תסביר למה רשמת בשאלה 2 "בגדול", זה גורם לי להרגיש שהחסרתי משהו.
6) תודה.



ציטוט:
נכתב במקור על ידי benb צפה בהודעה
1. אני זוכר שנתקלתי באיזשהו מקור שמראה שדווקא שירשור לוקח יותר זמן, אבל תנסה להשתמש בפונקציה TIMER שמודדת לך כמה זמן רץ כל חלק בקוד שלך וככה תדע בוודאות.
2. ראיתי שרשמת "קלט" אז זה בכלל לא מספיק! כל קלט מהמשתמש אתה חייב לבדוק ולא מספיקה פונקציה שעושה אסקייפ לתוים מיוחדים שנותנת הגנה רק עבור הזרקות לבסיס הנתונים. כי כשאתה שולף אותו ומציג למשתמש הוא חוזר להיות כמו שהוא, למשל קוד HTML ואז זה יגרום ל XSS. תקרא על הפונקציה htmlentities
3. תשתמש ב LIKE בכדי למצוא מחרוזת בטקסט.
4. תעשה הגנה גם על ה $LINK משתמשים יכולים להכניס שם כל מיני שטויות ב GET
5. ה DIE נותן לך להוסיף טקסט ו EXIT אתה יכול להוציא מספר מסויים שאפשר אחרי זה לדעת באיזה חלק בקוד זה קרה, אני לא ממש בטוח שזה מדוייק.
6. ERROR REPORTING כמו שהמליצו לך.
7. כל INCLUDE שלך זה גורם לקובץ שונה להיקרא עדיף לשים בקובץ אחד דברים שאתה משתמש בהם לעיתים תכופות. יותר יעיל.
8. חפש בגוגל!!! יש תשובות להכל אתה לא הראשון שנתקל בשאלות האלו גם אני חשבתי על אותן שאלות בעבר.
אני כל היום בגוגל, אבל לפעמים אני לא מוצא את המילת מפתח למה שאני מחפש, תנסה למצוא תשובה לשאלות 1,2,4,7. (יכול להיות שתמצא... יכול להיות שלא..)

1)בדקתי את זה בטיימר, ההבדל זניח ולא קבוע, בגלל זה שאלתי כאן.
2)אני אבדוק את העניין (אם ה-XSS עובד) ואשמח לשמוע עוד דעות בנוגע לזה.
3) אני אנסה לראות אם זה מוצא לי את מה שאני מחפש.
4)כנראה התבלבלת, זה משתנה חיבור למסד של השרת, אין לו קשר למשתמש.
7)אני לא אכתוב header בכל עמוד

תודה.
  Reply With Quote
ישן 18-06-10, 12:40   # 5
benb
חבר בקהילה
 
benb's Avatar
 
מיני פרופיל
תאריך הצטרפות: Apr 2010
הודעות: 138

benb לא מחובר  

1. תריץ בלולאה של 100, אותה שיטה כמו לבדוק כמה שוקל דף נייר אז לוקחים 100 דפים שוקלים ומחלקים
2. חוץ מ XSS תנסה למנוע הצפות לבסיס הנתונים שמשתמש לדוגמא יכול לשלוח מספר פניות מסויים בדקה ולא יותר
4. חשבתי שזה LINK לעמוד. אז צודק אין בעיה עם זה. אני רואה שאתה מתחבר לבסיס הנתונים בכל שאילתא, יותר יעיל להשאיר את החיבור פתוח לאורך כל הסקריפט.
7. התכוונתי תעשה INCLUDE לקובץ אחד שיש בו מחלקה שמכילה את כל הHEADERS וכל פעם תקרה לHEADER שאתה צריך במקום כל פעם לקורא לקובץ, ככה הקובץ בזיכרון וזה יותר מהיר מלחפש אותו בHD של השרת כל פעם.
  Reply With Quote
ישן 18-06-10, 13:12   # 6
AlmogBaku
חבר וותיק
 
AlmogBaku's Avatar
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
מיקום: מודיעין
הודעות: 1,022

AlmogBaku לא מחובר  

1. זה לא באמת משנה, מי שאומר לך לבדוק מבחינת משאבים עם time בלבל את השכל. אני מניח שיש הבדל - אבל בחייך! יש גבול. סדר בקוד חשוב יותר. תבחר מה שיותר מסודר לך.

2. תלוי באופן הקלט, אם זה מספר שלם תעשה intval ותכניס בלי גרשיים, מספר לא שלם double או float מחרוזת real_escpae_string
שוב, אתה נטפל לקטנות.

3. חד משמעית לא REGEX!! וכמובן שלא לעשות אסקפינג כי זה יבטל את הביטוי הרגרולרי!
תשתמש ב LIKE ותעשה פשוט החלפה בין * ל %.

4. השאילתה תקינה לחלוטין.. אבל בשביל מה אתה שם קישור לרפרנס של mysql בפעולת האסקפינג? סדר וניקיון בקוד חשובים הרבה יותר!

5. אין הבדל בין die ל exit.

6. error_reporting(0)

7. מה שנוח לך!
במידה ואתה מתכנן מערכת גדולה רצוי להשתמש במבנה של טמפלטים. אבל שוב מה שנוח לך!



8.
אל תהיה קטנוני, המערכת שלך תהיה פריצה בכל מקרה! חשוב לעבוד בצורה נוחה, ולהקפיד על קוד שניתן לפתח בעתיד: הזחה נכונה, תיעוד בתוך הקוד, פעולות ומתודות בעלות פרמטרים נכונים, סדר סדר ושוב פעם סדר.
שאלה 1 למשל היא שיא הקטנוניות! זרום עם הפיתוח! =]

שלך, בקו.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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