
با سلام
در این آموزش سعی دارم نحوه ی ساخت یک کد PHP برای حفاظت از فلدر ها در سرور را دهم .
نمونه از یک باگی که وی بی سئو در سیستم ویبولتین ایجاد می کند و آموزش رفع این مشکل که در وی بی ایران توسط علی عزیز داده شد ولی در برخی سرور ها کارساز نیست سخن می گویم …
در صورتی که اگر رمزی بر روی پوشه ادمین ویبولتین گذاشته باشید با فراخوانی این آدرس “http://yoursite.com/vbseo.php?vbseourl=index.php&vbseorelpath=./admincp” می توانید آن را دور بزنید گرچه شاید زیاد با اهمیت نباشد ولی خب همه دوست داریم که این نقص از بین برود !
یک کد PHP ساده در این آموزش قرار خواهم داد و امیدوارم که از نظر امنیتی کمی سایت شما را بهبود بخشد !
آموزش :
– ابتدا یک فایل PHP در پوشه ی “admincp” بسازید، به طور مثال lock.php و درون آن کد زیر را قرار دهید .
<?php header("Content-type: text/html; charset=UTF-8"); //put sha1() encrypted password here - example is 'خدایا آنقدر دلم گرفته. که دوست دارم سر را بر شانه هایت بگذارم و گریه کنم.' $password = '4a22f1407a5faef4368e80cee41ead80bf189808'; session_start(); if (!isset($_SESSION['loggedIn'])) { $_SESSION['loggedIn'] = false; } if (isset($_POST['password'])) { if (sha1($_POST['password']) == $password) { $_SESSION['loggedIn'] = true; } else { die ('متاسفم، دوباره سعی کنید !'); } } if (!$_SESSION['loggedIn']): ?> <html dir="rtl"> <meta http-equiv='Content-Type' content='text/html; charset=utf-8'> <center><head><title>ورود به صفحه ی مدیریت</title></head> <body> <p>شما برای ورود نیاز به ارائه ی رمز دارید !</p> <form method="post"> رمز : <input type="password" name="password"> <input type="submit" name="submit" value="ارسال"> </form> </body> <center></html> <?php exit(); endif; ?>
– فایل index.php را ویرایش کنید و پایین کد زیر
/*======================================================================*\ || #################################################################### || || # vBulletin 4.2.0 Patch Level 2 || # ---------------------------------------------------------------- # || || # Copyright ©۲۰۰۰-۲۰۱۲ vBulletin Solutions Inc. All Rights Reserved. || || # This file may not be redistributed in whole or significant part. # || || # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # || || # http://www.vbulletin.com | http://www.vbulletin.com/license.html # || || #################################################################### || \*======================================================================*/
– این کد را قرار دهید و ذخیره کنید :
require('lock.php');
نکات :
* این کد را علاوه بر تمامی آموزش های امنیتی که داده شده است استفاده کنید و تنها به آن بسنده نکنید !!
* تا هر زمانی که مرورگر باز باشد ! از شما رمزی پرسیده نخواهد شد !
* می توانید کد را ویرایش کرده و چندین رمز عبور بسازید !
* پوشه ی admincp نمونه می باشد و ممکن است توسط شما تغییر کرده باشد منظور همانپوشه ی تغییر یافته است !!
* توسط این http://www.sha1.cz سایت می توانید کد sha1 دلخواه خود را بسازید و جایگزین کنید در قسمت :
کد PHP:
$password = ‘4a22f1407a5faef4368e80cee41ead80bf189808’;
* حتما قبل از انجام این آموزش از فایل index.php خود نسخه ی پشتیبان تهیه کنید !
* در صورتی که نیاز به رمزنگاری کد های PHP برای امنیت بیشتر دارید می توانید به سایت byterun رجوع کنید و بصورت رایگان آن ها را رمزنگاری کنید !
منبع DiMYADi.IR
تمام