![]() |
[עזרה]אבטחת אתר
שלום לכולם
אני בונה כרגע מערכת משתמשים ועליה ניהול תוכן אבל כמובן שהבעיה היא פחות לבנות ויותר לאבטח הבנתי שיש 2 סוגי בעיות עיקריות באבטחיה XSS ו SQL INJECTION אשמח אם תפרטו לי על כל בעיה-ממה היא נוצרת ואם אפשר דוגמא לאיך אפשרי לפרוץ ככה אתר וכמובן איך אני מתחיל להגן מפני שניהם?? אשמח לתגובות ואנשים שיוכלו לעזור אני כמובן לא מבקש קודים מוכנים רק את הבעיות שיש,ופונקציות שמטפלות בזה/דרכי טיפול(שאני יצור בעצמי פונקציות) תודה לכולם |
גוגל לא פועל היום?
|
mlinn אתה יודע מה מעצבן בתגובה שרשמת עכשיו?
אולי זה לא קשור לנושא אבל אני חייב להגיד את זה (גם אם התוצאה תהיה אזהרה או באן לכמה שעות) ואני מאמין שיש עוד אנשים שחושבים כמוני לפעמים שעושים חיפוש בגוגל על בעיות כאלה ואחרות מוצאים הרבה תוצאות מפורומים ויצא לי להיתקל לא מעט בשאלה שרשמתי בגוגל ופורום הוסטס היה במקום הראשון עם אותה שאלה שחיפשתי אתה יודע מה הייתה התגובה לשאלה של הגולש? "גוגל לא פועל היום?" "חפש בגוגל" "כיום יש גוגל" ועוד... מה גולש במקרה כזה יכול לעשות ? אתם (הגולשים שכן יודעים) אמורים לעזור (זה המטרה של הפורום לא?) וככה להגדיל את המידע שיש באינטרנט |
דווקא לי התוצאה הראשונה זה וויקיפדיה, עם הסבר, דוגמאות והמלצות איך להמנע.
אם אומרים לך לחפש בגוגל, זאת אומרת שהמידע נפוץ וקל למצוא אותו, ואין צורך להטריד אנשים. לגבי זה שהתוצאות מובילות לפורומים ללא מענה אמיתי, תתלונן לגוגל. ( או שתלמד לחפש יותר טוב.) |
אתה עוטף כל get באתר קודם כל ב
htmlspecialchars כדי שזה ימנע שימוש בסקריפטים ב get שזה בעצם ההזרקות sql injection וגם ב textarea אתה שם htmlspecialchars חפש את זה בגוגל תבדוק איך עושים את זה. עוד טיפ ל get תעשה שליפה של ה ID הכי גבוה בטבלה שלך במסד ותעשה תנאי שאם ה ID שנכנס ל get יותר גבוה ממנו אז זה יציג דף שגוי ואם לא אז יציג את הדף שהוא צריך... ככה זה ימנע הכנסת אותיות וכו' ל GET קוד:
$id = htmlspecialchars($_GET['newsID']); |
ציטוט:
ציטוט:
ציטוט:
ציטוט:
ואני יכול לנחש למה אתה מתכוון, ובאמת - זה גם, אני אצטט את המגיב מהדיון השני - "שיטה מטופשת". זה בגלל שאתה עושה nl2br ואז htmlspecialchars. מה שהסברת לו זה איך לבזבז משאבים באופן לא יעיל. זה נחמד ומבורך לעזור, אבל אל תטעה אותו. |
סבבה אז אם אני משתמש ב htmlspecialchars אני מוגן לחלוטין מXSS???
|
ציטוט:
ככה שאם לא קיים עמוד כזה הוא מראה דף עם שגיאה שאין עמוד כזה זה יותר רציני ככה. דבר שני אפשר להכניס ב textarea סקריפטים. התג htmlspecialchars מונע את האפשרות הזאת. ולדבר הראשון שאמרת ברור שזה ימנע איך תוכל להכניס קודים שונים ל get עם יש על זה Htmlspeacilchars :\ עריכה וגם במשתמשים בתנאי הזה שרשמתי שם זה מונע אפשרות להכניס תווים לא חוקיים כמו ;,` וכו'.. (שמי שמבין בפריצות יודע שהתווים האלה הם חלק גדול) |
ציטוט:
באמת? שלח לי textarea, אני מכניס בה סקריפטים. חיפשתי וחיפשתי, ואין שום פונקציה בשם htmlspeacilchars... אם היה לי זמן הייתי גומר את התגובה בזה, אבל, קוראים לזה SQL INJECTION. |
ציטוט:
ברור שיש פונקצית htmlspeacilchars חפש בגוגל. זה ב php זה מנטרל את התגי html שאתה כותב ב textarea ו get אם אני שם את זה בtextarea אין סיכוי שאתה מכניס סקריפטים ניסיתי ולא הלך. |
ציטוט:
|
ציטוט:
בכל מקרה, אתה אומר שזה מנטרל רק סקריפטים. HTML זה שפת תגיות, לא סקריפטים. |
תעשה replce לגרש זה ימנע את רוב ההזרקות.
|
ציטוט:
|
מאסטר מה אתה מבלבל תשכל בטח שיש אל תחפור סתם
מה הקשר HTML עזוב אם אתה לא מבין אל תדבר http://www.php.net/htmlspecialchars |
kfir91. אני באמת שונא לעשות את זה, אבל מה שאמרת לו זה חבורה של שטויות ביחד.
htmlspecialchars "מנטרל" את ה-HTML, כדי שלא יהיה ניתן לתפעל סקריפטים - הוא לא "מנטרל" את הסקריפטים, אלא מונע את הפעלתם. הגבתי לך על כל "השטויות" שכתבת. תקרא, תפנים. |
^^ תנו לבנאדם תשובה נורמלית.
בתכלס HTMLSPECIALCHARS מכסה XSS. יש מספר דרכים לחסום SQL INJ והקלה שבהם היא בדיקה אם המשתנה הוא מספרי (במקרים של ID ) או הסרה של " ' (ישנה פונקציה בPHP עבור זה) |
אוי ואבוי יענו אתה לא יודע שמנטרל ומונע זה אותו דבר ?
מה אתה תופס אותי במילים העיקר הכוונה אפשר לחשוב בעיקרון זה נכון מה שאמרתי עשית ממני טמבל לחלוטין שלא מבין ממה שהוא אומר |
ציטוט:
|
סתרת בצורה חריפה שממש כל מה שאמרת די דומה.
|
שמע כפיר בתכלס אנשים פה מנסים לעזור אחד לשני וזה שאתה לא יודע לקבל את הביקורת של מתכנתים מנוסים ומתקדמים יותר ממך זאת באמת בעיה... למשל הבדיקה המטופשת וחסרת התועלת שעשית עם הID... אתה פשוט בודק אם ID הוא מספרי ואם כן אתה מכניס אותו לשאילתה. במקרה שמספר השורות המוחזרות הוא אפס הID שגוי. אין טעם לשאילתה נוספת. עכשיו בנוגע למה שאמרת עם htmlspecialchars דבר ראשון כשאתה נותן למשתמש הסבר הכולל שימוש בפונקציה מן הראוי שלפחות תכתוב אותה כמו שצריך בלי שגיאות כתיב. דבר נוסף שעלה פה היא הנקודה של דניאל. מה שהפונקציה הזאת עושה זה פשוט לנטרל תגי HTML על ידי החלפת תווי HTML מיוחדים כמו <,> וכד'. מה שזה אומר שאתה מנטרל את הקוד אבל לא מסיר אותו. שמע כפיר אני מבין שיש לך רצון לעזור אבל באמת לא ראוי שתעזור בנושאים שאתה לא מבין בהם ותטעה אנשים אחרים. אם זכרוני אינו מטעני אתה עצמך ביקשת עזרה לגבי אותו הנושא בדיוק.
לסיכום כפיר אתה צריך ללמוד לקבל ביקורת וללמוד לבדוק את הדברים לפני שאתה כותב אותם. עכשיו לפותח האשכול. מה שאני ממליץ לך לעשות זה להסתכל על קוד מקור של מערכות גדולות למשל VB או IPB ולראות איך שם פתרו את הבעיה. למרות שיש יתרונות לכך שאתה שואל בפורום. אני למשל לא הייתי מעלה על דעתי שמישהו ישתמש בשאילתה בצורה כל כך סתמית כמו כפיר אבל מסתבר שיש. עכשיו אחרי שראיתי שהדבר הזה קיים אני אדע שבעתיד כשמישהו שואל כדאי להוסיף דרך לבדיקה שלא מבזבזת משאבים בצורה סתמית כל כך.. יום טוב, כפיר |
חלאס לריב כמו ילדים קטנים
לסיכום אני צריך תשובות האם htmlspecialchars מכסה XSS ואיך אני מכסה SQL INJ ??? בבקשה בלי מריבות |
כל הזמנים הם GMT +2. הזמן כעת הוא 11:30. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ