• 1 رای - 4 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اجرای کد از دیتابیس
#1
سلام
فرض کنید یه کد php دارم که توی یه فایل زیپ یا توی دیتابیس ذخیرش کردم، حالا می خوام این رو آنزیپ شده به بازدید کننده بدم تا دانلود کنه
اگه این هدر رو بدم:
کد پی‌اچ‌پی:
header('Content-Disposition: inline; filename="test.extension"'); 
و بعد یه هدر Content-type بدم و بگم این فایل php هست و
و بعد فایل php رو echo کنم از نظر امنیتی باز هم مشکلی داره؟!
چون بعضی وقتا هدر اولی کار نمی کنه!!! و اگه کار نکنه تابعش مقدار false رو برمی گردونه تا من دیگه هدر content-type ندم یا نه؟
راه حل دیگه ای هست؟
راستی شرمنده یه اشتباهی شد، برای اینکه اون کد مخرب محصوب بشه باید در eval اجرا بشه و در حالت عادی فقط سورس کد نمایش داده میشه، اما:
اگه من هرنوع پسوندی رو بخوام اینجوری باهاش برخورد کنم ممکنه مشکلی بوجود بیاد؟ (بعنی بخوام برای دانلود هدر بدم و بعد با هدر مخصوص خود فایل و شناساندن نوع اون فایل به browser اونو echo کنم)
ممنون میشم پاسخ بدید
[عکس: banner.php]

[عکس: blogbanner.php]
  پاسخ
تشکر شده توسط :
#2
نمی دونم به عنوان ربطی داره یه نه؟
سوال شما خیلی گنگه.
در کل این اسکریپت اینجور داره میگه که این فایل با این اکسشن بره برای دانلود همین
  پاسخ
تشکر شده توسط :
#3
ببخشید اگه خوب توضیح ندادم:
ببینید، یه سایت با موضوع برنامه نویسی، گاهی اوقات لازمه تا چند فایل (سورس کد) رو برای دانلود بزاره، خوب معمولا" اونو زیپ می کنن که از نظر امنیتی مشکلی ایجاد نشه، حالا من می خوام در بعضی مواقع بجای زیپ کردن کد ها رو در دیتابیس نگه دارم و هر وقت کاربر خواست کد رو دانلود کنه:
1.هدر برای دانلود
2.هدر content type
بدم و سورس کد رو روی صفحه echo کنم، (سورس هر نوع کدی از جمله php می تونه باشه)
حالا می خواستم بپرسم این از نظر امنیتی مشکل ایجاد می کنه؟ (چه برای سرور چه برای کاربر، البته چون کد ها echo میشن و نه اجرا فکر نمی کنم برای سرور مشکل داشته باشه)
[عکس: banner.php]

[عکس: blogbanner.php]
  پاسخ
تشکر شده توسط :
#4
برای سرور و کاربر نمی تونه مشکلی ایجاد کنه
برای سرور نه چون اطلاعات داره echo میشه
برای کاربر هم نه چون هدر دانلود ارسال میشه و مرورگر هرگز نمی تونه بدون درخواست کاربر کدهای اجرایی رو اجرا کنه
  پاسخ
تشکر شده توسط : pezhman32


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان