PDA

View Full Version : سوال: سوال در رابطه با رمزگزاری فایل های .php



eneahh
یک شنبه 12 آذر 1391, 03:58 صبح
سلام دوستان عزیز
من یک اسکریپت دارم که قسمت مدیریتش از 5 فایل پی اچ پی تشکیل شده
نام فایل ها
index.php
2.php
3.php
4.php
5.php
خوب وقتی اسکریپت لود میشه فایل index.php اول بالا میاد که دارای پسورده
اما فایل های دیگه پسورد ندارن و یکسری افراد مزاحم فایل های دیگرو مثلا 2.php باز میکنن و میتونن به راحتی وارد قسمت مدیریت بشن و دستکاری کنن
خوب حالا من میخوام یه کدی استفاده کنم که وفتی آدرس فایل 2.php رو به مورورگر میدیم اول بره تو فایل index.php بعد از اینکه پسوردو زدیم وارد فایل 2.php بشه
در حقیقت اول وارد پوشه حاوی رمز بشه اگه رمزو درست زدیم وارد فایل مورد نظر بشه
من قبلا رو چند اسکریپت دیده بودم اینکارو کردن پس منم میتونم
تا اونجایی که یادمه یک کد خیلی ساده و کوتاهی هست
ممنون میشم کمکم کنید

فرزند کوروش
یک شنبه 12 آذر 1391, 10:18 صبح
باید تو صفحه ایندکس از سیشن استفاده کنی بعد تو صفحات دیگت یه if بنویسی که چک کنه اون سشن وجود داره یا نه.
اگه وجود داشت فایل رو ببینه اگه وجود نداشت ریدایرکت بشه تو صفحه ایندکس این هم یه تابع برای ریدایرکت


function Redirect( $url )
{
header("Location: ".$url);
exit;
}

eneahh
سه شنبه 14 آذر 1391, 08:41 صبح
باید تو صفحه ایندکس از سیشن استفاده کنی بعد تو صفحات دیگت یه if بنویسی که چک کنه اون سشن وجود داره یا نه.
اگه وجود داشت فایل رو ببینه اگه وجود نداشت ریدایرکت بشه تو صفحه ایندکس این هم یه تابع برای ریدایرکت


function Redirect( $url )
{
header("Location: ".$url);
exit;
}
دوست من خیلی ممنون از کمکت
میشه یکم واضح تر توضیح بدین ؟
همراه با جایگزینی لینکها با دامین domin.com
اینکه تو فایل ایندکس کدوم کدو بزارم و اخل فایل های دیگه کدوم کد رو بزارم توضیح بدین لطفا

thacker
سه شنبه 14 آذر 1391, 14:44 عصر
سلام دوست عزیز ...

برای صفحه index.php خودتون میتونید از این کد استفاده کنید :



<?php
session_start();
if ( isset($_POST['username']) && isset($_POST['password']) )
{
if ( ($_POST['username'] == $adminuser) && ($_POST['password'] == $adminpass) )
{
$_SESSION['user'] = $_POST['username'];
header ("Location: 2.php");
}
}
?>

برای صفحات دیگه هم از کد زیر :




// اين کد رو در ابتداي صفحه بگذاريد //
<?php
session_start();
if ( isset($_SESSION['user']) ) {
?>

// محتويات صفحه //

// در آخرين خط صفحه وارد کنيد //
<?php } else { header ("location: index.php"); } ?>

$ M 3 H R D A D $
سه شنبه 14 آذر 1391, 15:09 عصر
از اینکلود استفاده کن برای فایل های غیر ایندکس و همه فایل ها رو جوری ظراحی کن که ایندکس اونارو اینکلود کنه
بعد از درست بودن کلمه عبور و قبل از اینکلود یک مقدار ثابت با define تعریف کن و تو صفحات داخلی ( 1 و 2 و 3 و ) اون مقدار و چک کن ( تنظیم بودن و درست بودن مقدار اون ثابت )
اینجوری دسترسی مستقیم ندارن بهش

eneahh
دوشنبه 20 آذر 1391, 23:41 عصر
سلام دوست عزیز ...

برای صفحه index.php خودتون میتونید از این کد استفاده کنید :



<?php
session_start();
if ( isset($_POST['username']) && isset($_POST['password']) )
{
if ( ($_POST['username'] == $adminuser) && ($_POST['password'] == $adminpass) )
{
$_SESSION['user'] = $_POST['username'];
header ("Location: 2.php");
}
}
?>

برای صفحات دیگه هم از کد زیر :




// اين کد رو در ابتداي صفحه بگذاريد //
<?php
session_start();
if ( isset($_SESSION['user']) ) {
?>

// محتويات صفحه //

// در آخرين خط صفحه وارد کنيد //
<?php } else { header ("location: index.php"); } ?>

دوست عزیز ممنون از کمکت
من دقیقا همین کدهارو جایگزین کردم
وفتی وارد صفحات دیگه میشم میره تو همون ایندکس
من رو ایندکس رمز گزاستم میخواستم کاربر اول بره تو ایندکس بعد از اینکه رمزو وارد کرد خودکار وارد صفحه مورد نظر بشه
راستی برای هر صفحه که میخوام رمز گزاری بشه باید یه اینکس جدا بنویسم و این ثسمتو تغییر بدم ؟
header ("Location: 2.php");

rezaonline.net
سه شنبه 21 آذر 1391, 01:08 صبح
از روش آقا مهرداد استفاده کن .
اصولیش همینه که گفتن .