[جلوگیری ازدسترسی به فایلهای محرمانه درپوشه private

jalaladdin

Active Member
برای جلوگیری ازدسترسی به فایلهای محرمانه درپوشه private چگونه عمل کنم بعنوان مثال آدرس وب سایت این
www.majid1.net باشد تمامی فایلهای ویرایش و حذف و ارسال و.......در این پوشه private میباشد حالا اگر آدرس بدین صورت بنویسم www.majid1.net/private/delete.php صفحه حذف مطالب نشان داده میشود برای جلوگیری ازمشاهده این فایلها با دادن همچنین آدرسی چکار باید کرد؟
 

Masoud1365

مدیر انجمن
اول که صفحه حذف/ویرایش یا ... ( کلا بخش های مدیریتی ) باید کنترل بشه و فقط برای مدیر قابل نمایش باشه ! برای این کار هم که از سشن و اینا استفاده میکنی حالا برای دسترسی های دیگه ( مثلا یه پوشه یا ... ) میتونید از htaccess استفاده کنید !
در حالت امن تر میتونید فایلهاتون رو در یک پوشه بالاتر از پوشه روت قرار بدید !
موفق
 

jalaladdin

Active Member
یک فایل بنام log.php درپوشه public_htmlساختم و کدهای زیر درون آن ریختم و فایلهای محرمانه در پوشه privateخارج از پوشه public_htmlقرار دادم اما با این کد وارد پوشه private نمیشود
PHP:
<?php
require_once( '../pivate/');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" ;Dir:rtl />
<title>Untitled Document</title>
<link href="my.css" rel="stylesheet" type="text/css" />
<link href="cs/default.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
<body>

   <tr>

   
    <div class="sidebarbox-border bg-blue02  text">
<div class="sidebarbox-title-shading bg-blue05  dircss ">ورود مدیر</div>


<form action="login.php" method="post" class=" " >
        
        
  <div align="center" class="dir"> نام کاربری:<input type="text" name="username"   value="" size="20"  class="textbox"   /></div>
      
      <div  class="dir">رمز عبور:  <input type="password"   name="password"  value="" size="20"  class="textbox" /></div>
       
     <div align="center">  <input type="submit" value="ورود" class="button" /></div>
        
        <a href="forgetpassword.php" ><div class="dir">کلمه عبور را فراموش کرده ام </a></div>
        
        </form>
       
        
  </tr>
</table>
</body>
</html>
 

Masoud1365

مدیر انجمن
خب شما فایلی رو انتخاب نکردید که اینکلود کنید !
کدتون رو به شکل زیر اصلاح کنید :
PHP:
<?php
require_once( '../pivate/file.php');
?>
 

jalaladdin

Active Member
حالا وقتی درمرورگر این آدرس مینویسم بعنوان مثال www.majid1.com/log.php با توجه به کد زیر که فرم ورود به وب سایت است تمامی فایلهای محرمانه نشان داده میشود
PHP:
<?php
require_once( '../private/login.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" ;Dir:rtl />
<title>Untitled Document</title>
<link href="my.css" rel="stylesheet" type="text/css" />
<link href="cs/default.css" rel="stylesheet" type="text/css" />
<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
<body>

   <tr>

   
    <div class="sidebarbox-border bg-blue02  text">
<div class="sidebarbox-title-shading bg-blue05  dircss ">ورود مدیر</div>


<form action="login.php " method="post" class=" " >
        
        
  <div align="center" class="dir"> نام کاربری:<input type="text" name="username"   value="" size="20"  class="textbox"   /></div>
      
      <div  class="dir">رمز عبور:  <input type="password"   name="password"  value="" size="20"  class="textbox" /></div>
       
     <div align="center">  <input type="submit" value="ورود" class="button" /></div>
        
        <a href="forgetpassword.php" ><div class="dir">کلمه عبور را فراموش کرده ام </a></div>
        
        </form>
       
        
  </tr>
</table>
</body>
</html>
 

Masoud1365

مدیر انجمن
خب شما کدهاتون رو به این صفحه اینکلود کردید ! وقتی هم که از یک آدرس مثلا site.com/test.php فراخانیش میکنید میاد !
 

jalaladdin

Active Member
برای جلوگیری از نشان دادن قسمتهای محرمانه فایل چگونه باید کد بنویسم؟
 

Masoud1365

مدیر انجمن
بستگی داره که چی هست ؟ چطوری کار کردید ؟
مثلا با استفاده از سشن :
PHP:
if($_SESSION['ValidUser']){
    echo 'mahramane';
}
else{
    echo 'gheire mahramane';
}
 

jalaladdin

Active Member
PHP:
 <?php
if(isset( $_POST['$user']))//اگر کاربری بود
{
 // شروع صفحه
 ?>
 <html>
 ....
 </html>
 <?php
}// اتمام شرط
else//درغیر این صورت
{
header("Location: index.php"); //برو به فحه اصلی
?>
<!-- // اینم برای اطمینان بیشتر \\ -->
<script language="javascript" >window.location='index.php';</script>
<?php
}// else اتمام
?>

با توجه به کد بالادرصورتی محتوی فایل لاگین نشان داده میشود که کاربر لاگین کرده باشد یعنی اگر کاربر درمرورگر ادرس بدین صورت بنویسد
محتوای فایل نشان داده نمیشودwww.majid1.com/login.php
 

jalaladdin

Active Member
و برای بقیه فایلهای مثل حذف مطلب و ویرایش مطلب و......اگر بدین صورت کد بنویسم اصلا محتوی فایل نشان داده نمیشود چه بصورت لاگین وارد سایت بشم و چه ازطریق آدرس درمرورگر
 

Masoud1365

مدیر انجمن
من دقیقا سوال رو متوجه نشدم !
شما برای لاگین باید از کوکی و سشن استفاده کنید اگه مثلا سشن ست شده بود یه چیزی نمایش بده و گرنه نمایش نده !
 

jalaladdin

Active Member
مشکل من اینه وقتی در مرورگر این آدرس مینویسم http://localhost/private/message.php
صفحه ارسال مطلب باز میشه برای جلوگیری از این کار چه کدی باید به کدهای ارسال مطلب اضافه کنم تا وقتی کاربر ادرس در مرورگر نوشت به صفحه ورود به سایت هدایت شود
 

Masoud1365

مدیر انجمن
خب اول شما باید کاربر رو تعیین اعتبار کنید !
یعنی اول حتما لاگین کنه ( که یا سشن براش ست کردی یا کوکی یا هر دوتاش ! )
بعدش چک میکنی اگه سشن واسش ست شده بود واسش نمایش میدی اگر نشده بود هدایت میشه به صفحه لاگین
 

jalaladdin

Active Member
پوشه private که حاوی فایلهای محرمانه است درون public_html قرار دارد دوستان گفتند که این پوشه محرمانه باید خارج از public_htmlباشد حالا این پوشه محرمانه به خارج منتقل کردم برای دسترسی به این پوشه چکار باید بکنم
 

Masoud1365

مدیر انجمن
یه اینکلود ساده فقط باید انجام بدید !
این که کد رو بزترید تا واستون درست کنند طبیعتا اکثر بچه ها وقت این کارو دارند !
 

جدیدترین ارسال ها

بالا