PDA

View Full Version : سوال: لینک دانلود



MrRoot
جمعه 24 خرداد 1392, 23:27 عصر
قصد من اینه با PHP کدی بنویسم اگر از وب سایت خودم روی دانلود کلیک کرد فورا دانلود بشه ولی مثلا لینک دانلود من رو گذاشته بودن کلیک کردن چون از بیرون سایتی دیگه وصل شدن به وب سایت من دانلود نکنه و یه صفحه بهشون نشون بده کسی میتونه راهنمایی بکنه؟

Tarragon
شنبه 25 خرداد 1392, 00:45 صبح
سلام
شما باید اول با $_SERVER['HTTP_REFERER'] چک کنید که لینک قبلی از کجا بوده و بعدش با کد دانلود با هدر شروع به دانلود فایل می کنید :
اینم مثال:

header("X-Sendfile: $somefile");header("Content-type: application/octet-stream");header('Content-Disposition: attachment; filename="' . basename($file) . '"');

MrRoot
شنبه 25 خرداد 1392, 08:41 صبح
خب بفرض کاربر از لینک دیگه ای اومده من در کد بالا کجا آدرس صفحه و وارد کنم و اگر ساز وب سایت خودم بوده آدرس دانلود فایل و در کدوم قسمت بزارم

Tarragon
شنبه 25 خرداد 1392, 08:59 صبح
سلام
ببخشید یه بار دیگه می گید؟
من نفهمید چی گفتید.

Unique
شنبه 25 خرداد 1392, 23:41 عصر
درست میگن و تنها چیزی که به ذهن میرسه HTTP_REFERER هست اما مشکلش اینه که میشه راحت دستکاریش کرد و خیلی قابل حساب کردن نیست ! بکسری مرورگر ها هم کلا اون را ارسال نمیکنند !

arta.nasiri
یک شنبه 26 خرداد 1392, 01:08 صبح
سلام

احتمالا این بدردت بخوره!!!

تو فایل htaccess اینو اضافه کن:

<Limit GET POST PUT>
order deny,allow
deny from all
allow from 1.1.1.1
allow from .*domain\.com.*
</Limit>

بجای 1.1.1.1 آی پی سرور رو قرار بدید.
بجای domain هم، domain مورد نظرتون رو قرار بدید.

روش هایی که دوستان فرمودند نیز صحیح هست ولی میشه دورشون زد!!!!!

MrRoot
یک شنبه 26 خرداد 1392, 16:08 عصر
سلام

احتمالا این بدردت بخوره!!!

تو فایل htaccess اینو اضافه کن:

<Limit GET POST PUT>
order deny,allow
deny from all
allow from 1.1.1.1
allow from .*domain\.com.*
</Limit>

بجای 1.1.1.1 آی پی سرور رو قرار بدید.
بجای domain هم، domain مورد نظرتون رو قرار بدید.

روش هایی که دوستان فرمودند نیز صحیح هست ولی میشه دورشون زد!!!!!

خب تستی بکنم ببین چی میشه فقط این htaaccess فایل و در داخل پوشه دانلود هام باید باشه درسته
بعدش iP سرور که مشخصه برای دومین نام دومین مثلا p30world.com و بزارم درسته؟اون \ کنارشه باشه نباشه یه مثال بدید ممنون میشم؟
اینجا یک چیز معلوم نیست شاید یکنفر لینک منو و در سایتش قرار داشته باشه ازکجا میفهمه از سایتی دیگه داره میاد به صفحه من؟

arta.nasiri
یک شنبه 26 خرداد 1392, 21:21 عصر
خب تستی بکنم ببین چی میشه فقط این htaaccess فایل و در داخل پوشه دانلود هام باید باشه درسته
بعدش iP سرور که مشخصه برای دومین نام دومین مثلا p30world.com و بزارم درسته؟اون \ کنارشه باشه نباشه یه مثال بدید ممنون میشم؟
اینجا یک چیز معلوم نیست شاید یکنفر لینک منو و در سایتش قرار داشته باشه ازکجا میفهمه از سایتی دیگه داره میاد به صفحه من؟

فایل htaccess رو هم میتونید در root یا در فولدر مورد نظر قرار بدید.


allow from .*p30world\.com.*

برای اینکه با مکانیزمش آشنا بشی Documant آپاچی رو مطالعه کن.

Unique
دوشنبه 27 خرداد 1392, 02:04 صبح
این پیشنهادی که دوستمون grlearn میگن کار نمیده ! allow from فقط مانع از دسترسی یه اون دایرکتوری از طریق اون ip میشه ! یعنی وقتی روی لینک شما جای دیگه کلیک میشه که دیگه دسترسی از اون ip یا آدرس نیست که پسر خوب ! با htaccess هم میشه HTTP_REFERER را بررسی کرد و مانع شد اما همون مشکل که قبلا گفتم پا برجاست ! یکی از مهمترین کاربرد های این کار زمانی هست که افراد عکس های سایت شما را توی سایت خودشون میگذارند تا توی bandwidth صرفه جویی کنند و با HTTP_REFERER مانع میشه شد.