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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=93993)

iniKey.com 10-12-11 22:32

הורדת קובץ PHP
 
יש לי קובץ שנקרא x.php,
איך אני יכול לתת למשתמש להוריד אותו?

נגיד שאם לוחצים "הורד" - אז הוא מוריד אותו.

IgalSt 10-12-11 22:43

או שאתה מאחסן אותו על שרת שאין לו PHP (משהו שלא סביר שיקר... :) )
או שאתה יכול לקרא את הקובץ על השרת באמצעות שפה צד שרת (כמו כל קובץ טקסט רגיל) ולשלוח אותו בינארית תוך ציון ה-headers המתאימים (content type)

daNN 10-12-11 23:09

קוד:

<?php
$file = 'x.php';

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>


iniKey.com 10-12-11 23:40

תודה רבה לשניכם!
אפשר לנעול.

אדיר 10-12-11 23:55

לפני שנועלים חשוב לי להזכיר לך ולכל מי שימצא את הקוד הזה מתישהו וירצה להשתמש בו,
בקוד ג'נרי כזה יש אופציה לפירצה מסוג LFI, ככה שצריך באמת לבדוק את הקלט ולדאוג לזה.

(במידה והמשתנה file אינו קבוע ונמשך ישירות מה- GET לדוג')

iniKey.com 10-12-11 23:57

ציטוט:

נכתב במקור על ידי xPerfection (פרסם 827792)
לפני שנועלים חשוב לי להזכיר לך ולכל מי שימצא את הקוד הזה מתישהו וירצה להשתמש בו,
בקוד ג'נרי כזה יש אופציה לפירצה מסוג LFI, ככה שצריך באמת לבדוק את הקלט ולדאוג לזה.

בקוד שDaNN הביא אין שום פריצת אבטחה ובטח שלא LFI,
המשתנה $file הוא קבוע מראש ולא ניתן לשנותו - אלא רק ע"י שינוי קוד המקור.

Itay 11-12-11 01:11

פשוט תשנה את הסיומת ל-phps ותתן לראות את כל הקובץ ישר, הרבה יותר פשוט

ToxicBoy21 14-12-11 21:26

כמו ש ITAY אמר, יש פורמט מיוחד שנקרא phps ..

phps = php source

אתה משנה כל קובץ PHP לפורמט PHPS ואז מי שיכנס אליו יקבל את הקוד מקור

IgalSt 14-12-11 23:32

ציטוט:

נכתב במקור על ידי Yarden - Local-Host.co.il (פרסם 828223)
כמו ש ITAY אמר, יש פורמט מיוחד שנקרא phps ..

phps = php source

אתה משנה כל קובץ PHP לפורמט PHPS ואז מי שיכנס אליו יקבל את הקוד מקור

אפשר גם לשנות ל-txt או html (ולצבוע את הקוד), אבל נראה כאילו שואל השאלה לא מעוניין בשינוי הסיומת.

iniKey.com 15-12-11 11:52

ציטוט:

נכתב במקור על ידי Yarden - Local-Host.co.il (פרסם 828223)
כמו ש ITAY אמר, יש פורמט מיוחד שנקרא phps ..

phps = php source

אתה משנה כל קובץ PHP לפורמט PHPS ואז מי שיכנס אליו יקבל את הקוד מקור

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

DANN כבר עזר לי - תודה.


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

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