![]() |
מהי הדרך הכי טוב לחסום גישה ישירה לקבצי PHP
מהי הדרך הכי טוב לחסום גישה ישירה לקבצי PHP לצורך אבטחה כמובן.
שרק דרך השרת יהייה ניתן לשלוח אליו נתונים |
* להגדיר משתנה בקובץ הראשי (עם define) ולבדוק בקבצים אם is_defined
* שבקבצים עצמם יהיה רק class - הקובץ שמבצע את ה-include יצטרך לקרוא ל-class בעצמו * htaccess * לשים אותם בתיקיה מעל ה-public_html אלה 4 שיטות אפשריות... מה שלרוב מיישמים זה שילוב של 1+2 - ברירת מחדל יש רק את ה-class ואז גם אם מישהו יגש זה לא ישנה לאף אחד... ואם צריכה להתבצע פעולה בקובץ בכל מקרה - אז בודקים אם: PHP קוד:
|
PHP קוד:
אבי. |
גישה דרך הFILE SYSTEM או דרך HTTP?
ממה אתה חושש בסופו של דבר? |
ציטוט:
אם משתמש נכנס אל index.php ושם בוצע include ל-someclass.php - אז ה-$_SERVER['REMOTE_ADDR'] ישאר ה-IP של המשתמש... |
אם יש לך מבנה מסויים של קבצים, לדוגמא - כל המערכת עובדת דרך index.php, אז אתה יכול לבדוק אם הקובץ שהמשתמש נמצא בו (לא זוכר מה המשתנה ב-$_SERVER, תבדוק) הוא לא בשם הזה ואז לחסום גישה
|
ציטוט:
זה עדיין פותר לו את הבעיה. |
ציטוט:
|
אתה יכול פשוט לא לשים את הקבצים ב document root.
אני אישית שם קובץ אחד index.php וכל שאר הקבצים הם מחוץ ל document root כך שאפשר לגשת דרך הרשת רק אל index.php. |
ציטוט:
|
זה עדיין לא הכי בטוח,
כמו שהבחור perfeito אמר, הכי טוב למקם את הקבצים במיקום ../public_html |
ברור שיש קבצים שהגישה אליהם רגישה אז הם בתיקיה מסויימת
העניין זה שיש לי קובץ לדוגמה index.php שיש שם הרשמה,לא בעיה לעשות היום form בכל שרת חיצוני ולשלוח אליו נתונים אני רוצה שרק דרך הקובץ / האתר שלי יוכלו לעשות את זה |
ציטוט:
הדבר הכי בסיסי, אבל הכי קל לזיוף זה REFERRER. מה שאפשר לעשות, ושקצת יכול לסבך וזה תלוי בך זה: שבעמוד שממנו עושים שליחה לטופס, אתה מייצר איזה מפתח חד פעמי, שולח אותו עם הטופסף זוכר אותו, ומאמת אותו כשהטופס מגיע. משתמש חכם יוכל להבין שאתה שולח עוד פרמטר נסתר, ויוכל לשלוף אותו עם בקשה מקדימה לעמוד שממנו נשלח הטופס, אבל אם תסבך את הJS, ואולי את הקבלה של הפרמטר לא תעשה בקוד HTML עצמו אלא באיזו בקשת AJAX תמוהה שיהיה קשה להבין שהוא קשור, לא כל אחד יצליח. יצא לי לכתוב בוטים לכאלה דברים, לא הרבה הצליחו לעמוד בפניי|קורץ| בסופו של דבר זה הכל תלוי כמה הוא חכם ורוצה לעשות את זה |
האמת שאני שולח נתונים ע"י ajax ככה שזה גלוי למשתמש הפרמטרים + הקובץ שאילו הם נשלחים
|
ציטוט:
וכדי להנפיק אותו המשתמש יצטרך לבצע פעולה קודמת מול השרת שלך שאותה אתה יכול לחרבש כך שיהיה לו קשה להבין מה בדיוק אתה עושה שם |
כל הזמנים הם GMT +2. הזמן כעת הוא 22:14. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ