الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية اخفاء لينك الداون لود

مغلق
بدأه asdegypt في 24 يوليو 2006 · 6 رد · 846 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخوانى فى المنتدى

أنا أقوم بعمل سكربت يكون فيه متاح للزائر تحميل بعض الصور والمواد الصوتية ولكن أنا أريد أن يقوم الزائر بتحميل الملف بدون أن يعرف اللينك لهذا الملف وذلك حتى لا يستخدم اللينك فى موقع أخر

فياريت أحد ان يفيدنى فى عمل هذا الموضوع وشكرا لكم

#2

عند اعطء الرابط لاحد استعمل:

<a href="download_file.php?filename=flashmovie.swf">حمل هذا الملف الان</a>

وبعدين اعمل سكربت download_file.php وبها هذه المعلومات:

//مجلد الملفات
$files_directory = 'my_filesss/';
$bads = array('/'.'\\');
$file_link = $files_directory.str_replace($bads,'',$_GET['filename']);
		if(ini_get('zlib.output_compression')){
			  @ini_set('zlib.output_compression', 'Off');
	 	}
		@header("Pragma: public"); // required
		@header("Expires: 0");
		@header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
		@header("Cache-Control: private",false); // required for certain browsers 
		@header("Content-Type: application/x-shockwave-flash");
		@header("Content-Disposition: attachment; filename=".basename($file_link).";" );
		@header("Content-Transfer-Encoding: binary");
		@header("Content-Length: ".filesize($file_link));
		$file = fopen($file_link,'r');
		while($temp = fread($file,1024657)){
			echo $temp;
		}
		fclose($file);
		exit();

* طبعا عليك تغير content_type الى نوع الملف الي معك، انا استعمل swf هنا

مع السلامة

#3

شكرا ليك ممكن أستوضح منك عن أنواع content_type

مثل

mp3 , doc ,ram, swf

تم تعديل هذه المشاركة بواسطة asdegypt في 26 يوليو 2006 في 13:41

#4

تفضل القائمة:

$file_info['swf'] = array($directory_link,'application/x-shockwave-flash');
$file_info['pdf'] = array($directory_link,'application/pdf');
$file_info['exe'] = array($directory_link,'application/octet-stream');
$file_info['zip'] = array($directory_link,'application/zip');
$file_info['doc'] = array($directory_link,'application/msword');
$file_info['xls'] = array($directory_link,'application/vnd.ms-excel');
$file_info['ppt'] = array($directory_link,'application/vnd.ms-powerpoint');
$file_info['gif'] = array($directory_link,'image/gif');
$file_info['png'] = array($directory_link,'image/png');
$file_info['jpeg'] = array($directory_link,'image/jpg');
$file_info['jpg'] = array($directory_link,'image/jpg');
$file_info['mp3'] = array($directory_link,'audio/mpeg');
$file_info['wav'] = array($directory_link,'audio/x-wav');
$file_info['mpeg'] = array($directory_link,'video/mpeg');
$file_info['mpg'] = array($directory_link,'video/mpeg');
$file_info['mpe'] = array($directory_link,'video/mpeg');
$file_info['mov'] = array($directory_link,'video/quicktime');
$file_info['avi'] = array($directory_link,'video/x-msvideo');

وهناك درس اخر باستعمال اكود تمنع نقل الملفات الى مواقع ثانية:

http://www.islamway.us/showthread.php?t=10233

مع السلامة

#5

شكرا لك على المساعدة الاخيرة ولكن كان ليا أستفسار بخصوص الدالة الاولى التى كتبتها وهل تصلح هذه الدالة أدخال لينكات من خارج الموقع أم أنه يشترط ان يكون اللينك داخل الملف

#6
asdegypt كتب:
شكرا لك على المساعدة الاخيرة ولكن كان ليا أستفسار بخصوص الدالة الاولى التى كتبتها وهل تصلح هذه الدالة أدخال لينكات من خارج الموقع أم أنه يشترط ان يكون اللينك داخل الملف

لا السكربت الاولى تخفي الينك بس وما تمنع التحميل من موقع اخر

مع السلامة

#7
اقتباس
شكرا لك على المساعدة الاخيرة ولكن كان ليا أستفسار بخصوص الدالة الاولى التى كتبتها وهل تصلح هذه الدالة أدخال لينكات من خارج الموقع أم أنه يشترط ان يكون اللينك داخل الملف

نعم يشترط ان يكون الملف المراد تحميله داخل الموقع حتى يتسنى لـ php قراءته وتحميله في الملف المرسل إلى المتصفح .

تستطيع منع التحميل من خارج المواقع - أقصد استخدام المواقع لرابط من موقعك باستخدام الكود التالي :

function check_referer($url='')
	{
		global $HTTP_SERVER_VARS;

		if($url=='')
		{
			if(!ereg ($HTTP_SERVER_VARS['SERVER_NAME'], $HTTP_SERVER_VARS['HTTP_REFERER']))
			{
				header("Refresh: 0;url=/");
			}
		}
		else
		{
			if(!ereg ($url, $HTTP_SERVER_VARS['HTTP_REFERER']))
			{
				header("Refresh: 0;url=$url");
			}

		}
}

الكود منقول من مجلة المبرمج العربي

ولو وافيت ربك دون ذنب *** وناقشك الحساب إذاً هلكتا

ولم يظلمك في عملٍ ولكن *** عسير أن تقوم بما حملتا

هذا الموضوع مغلق.

مواضيع مشابهة