رفتن به مطلب
بازگشایی انجمن! ×
GuardIran

جستجو در تالارهای گفتگو

در حال نمایش نتایج برای برچسب های 'بایگاه داده'.

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


تالارهای گفتگو

  • انجمن گاردایران
    • قوانین و اطلاعیه های سایت
    • اخبار هک و امنیت
    • انتقادات و پیشنهادات
    • بخش خصوصی
    • بخش ویژه - VIP
    • بخش زیر زمینی
  • سوال و جواب های عمومی
    • سوال و جواب های نفوذ به سایت ها و سرورها و روشهای مقابله
    • سوال و جواب های امنیت سیستم های شخصی
    • سوال و جواب های برنامه نویسی
    • سوال و جواب های ابزارهای امنیتی
    • سوال و جواب های شبکه
    • سوال و جواب های مدیریت محتوا و وبلاگ ها
    • سوال و جواب های بخش Trojan , Rat , Keylogger
    • سوال و جواب های سیستم عامل ها
    • سوال و جواب های امنیت ایمیل های شخصی
    • سوال و جواب الکترونیک
    • سوال و جواب های موبایل
    • سوال و جواب های متفرقه
  • انجمن نفوذ و امنیت
    • آموزش های تصویری
    • آموزش های تصویری نفوذ به سیستم های شخصی و روشهای مقابله
    • آموزش های تصویری سایت ها و سرورها و روشهای مقابله
    • آموزشهای تصویری شبکه و روشهای مقابله
    • حملات شبکه و راههای مقابله
    • DOS , DDOS
    • ویروس ها و تروجان ها
    • متاسپلویت Metasploit
    • ابزارهای امنیتی
    • Shell Script
    • آسیب پذیری های وایرلس
    • اکسپلویت
    • باگ های امنیتی
    • امنیت ایمیلهای شخصی
    • تارگت های تمرینی
    • اسکنرها و ابزارهای هکینگ
  • بخش کرک و رمزنگاری
    • ابزار کرک
    • مقالات و آموزشهای کرک
    • مقالات و آموزشهای رمزنگاری
    • ابزارهای رمزنگاری
    • پروکسی لیست
    • پسورد لیست و کمبو لیست
    • کانفیگ
    • اکانت های کرک شده
  • برنامه نویسی
    • برنامه نویسی
    • برنامه نویسی تحت وب
  • بخش موبایل
    • بخش مخصوص موبایل
    • هک موبایل
  • شبکه
    • Cisco سیسکو
    • نتورک پلاس Netwok+
    • مایکروسافت Microsoft
    • میکروتیک Microtics
    • مجازی سازی
    • ابزارهای شبکه و مانیتورینگ
    • فایروال
  • سیستم عامل
    • لینوکس
    • ویندوز
    • کالی لینوکس Kali Linux
    • مکینتاش
  • الکترونيک و روباتيک
    • الکترونيک
    • ميکروکنترلرها و پروسسور ها
    • نرم افزار هاي تخصصي برق و الکترونيک
    • روباتيک
  • گرافيک
    • فتوشاپ
    • فلش
  • متفرقه
    • بحث آزاد

وبلاگ‌ها

چیزی برای نمایش وجود ندارد


جستجو در...

نمایش نتایجی که شامل...


تاریخ ایجاد

  • شروع

    پایان


آخرین بروزرسانی

  • شروع

    پایان


فیلتر بر اساس تعداد...

تاریخ عضویت

  • شروع

    پایان


گروه


About Me

  1. MR.MSA

    صفحه ثبت نام و ورود بدون دیتابیس | با PHP

    با سلام خدمت دوستان عزیز امروز میخوایم باهم یک صفحه ورود بدون داشتن دیتابیس بسازیم که در کنارش صفحه ثبت نام هم موجوده و کاربران میتونن ثبت نام کنن. نوشتن صفحه ثبت نام: قدم اول :خب قدم اول توی نوشتن صفحه ثبت ناممون کد های html هست که یک فایل با نام register.php بسازید و کد های زیر رو قرار بدید: <!DOCTYPE html> <html> <head> </head> <body> <form method="post"> Username: <input type="text" name="username"> <br><br> Password: <input type="password" name="password"> <br><br> Confirm password: <input type="password" name="confirm_password"> <br><br> Email: <input type="email" name="email"> <br><br> <input type="submit" name="register" value="register"> </form> </body> </html> در اینجا چهار input داریم که شامل نام کاربری، رمز عبور ، تکرار رمز عبور و ایمیل میشه و در نهایت یک دکمه ثبت نام. قدم دوم : یک فایل با نام users.php بسازید و این کد رو خط اول قرار بدید: <?php die('403'); ?> خب در فایل users.php اطلاعات کاربران اعم از username و password و email قرار میگیره که از تابع die اول کدمون استفاده کردیم که اگر یک نفر این فایل رو توی سایت اجرا کرد خطای 403 بگیره. قدم سوم: حالا برمیگردیم به فایل register.php که کد های php اونو بزنیم یعنی: <?php if (isset($_POST['register'])) { if (!$_POST['username']==''&&!$_POST['password']==''&&!$_POST['confirm_password']==''&&!$_POST['email']==''){ // check confirm password if ($_POST['password']==$_POST['confirm_password']) { // add user // open file (file handle) $fh = fopen('users.php','a'); // set user data $user = 'USERNAME:'.md5(sha1($_POST['username'])).',PASSWORD:'.md5(sha1($_POST['password'])).',EMAIL:'.base64_encode($_POST['email'])."\n"; // write user information fwrite($fh,$user); // close users file fclose($fh); } }else{ echo '<p style="color:red">Please answer all options.</p>'; } خط ۲ : از if استفاده کردیم برای بررسی اینکه کاربر دکمه register رو کلیک کرده یا نه خط ۴ : بررسی کردیم که ایا تمام ایپویت ها رو وارد کرده کاربر یا نه خط ۶ : بررسی کردیم که آیا رمز عبود و تکرار رمز عبور دقیقا یکی هست یا نه اگه آره که بریم سراغ اضافه کردن کاربر خط ۱۰ : وارد فایل users.php که قبلا ساختیم میشیم و میشه file handle ما خط ۱۳ : توی متغیر user اطلاعات کاربر رو قرار میدم یعنی نام کاربری ، رمز عبود و ایمیل که نام کاربری و رمز عبود به صورت هش شده و ایمیل به صورت encode قرار میگیره. خط ۱۶ : با تابع fwrite در آخر فایل users.php متغیر user رو اضافه میکنیم. خط ۱۹ : فایل users.php رو میبندیم خط ۲۲ و ۲۳ : نمایش خطا زمانی که تمام اینپوت ها رو کاربر وارد نکرده که میشه else شرطمون (خط ۴) کد نهایی: <!DOCTYPE html> <html> <head> </head> <body> <form method="post"> Username: <input type="text" name="username"> <br><br> Password: <input type="password" name="password"> <br><br> Confirm password: <input type="password" name="confirm_password"> <br><br> Email: <input type="email" name="email"> <br><br> <input type="submit" name="register" value="register"> </form> </body> </html> <?php if (isset($_POST['register'])) { if (!$_POST['username']==''&&!$_POST['password']==''&&!$_POST['confirm_password']==''&&!$_POST['email']==''){ // check confirm password if ($_POST['password']==$_POST['confirm_password']) { // add user // open file (file handle) $fh = fopen('users.php','a'); // set user data $user = 'USERNAME:'.md5(sha1($_POST['username'])).',PASSWORD:'.md5(sha1($_POST['password'])).',EMAIL:'.base64_encode($_POST['email'])."\n"; // write user information fwrite($fh,$user); // close users file fclose($fh); } }else{ echo '<p style="color:red">Please answer all options.</p>'; } } نوشتن صفحه ورود: قدم اول: یک فایل با نام login.php بسازید و کد های html زیر رو قرار بدید: <!DOCTYPE html> <html> <head> </head> <body> <form method="post"> Username: <input type="text" name="username"> <br><br> Password: <input type="password" name="password"> <br><br> <input type="submit" name="login" value="login"> </form> </body> </html> (اگه دوست داشته باشید میتونید بهش استایل هم بدید ولی برای اینکه آموزش طولانی نشه ما اینکارو نمیکنیم) قدم دوم : کد های php: <?php if (isset($_POST['login'])&&isset($_POST['username'])&&isset($_POST['password'])) { $file_handle= fopen('users.php','r'); $users=fread($file_handle,filesize('users.php')); $users=explode("\n",$users); $user_id=''; for ($i=0;$i<count($users)-1;$i++) { // check username if (strstr($users[$i],md5(sha1($_POST['username'])))) { $user_id .= $users[$i]; // check password if (strstr($user_id,md5(sha1($_POST['password'])))) { $login='true'; } } } if (isset($login)&&$login=='true') { $user_email = str_replace('USERNAME:'.md5(sha1($_POST['username'])).',PASSWORD:'.md5(sha1($_POST['password'])).',EMAIL:','',$user_id); session_start(); $_SESSION['login']='true'; $_SESSION['name']=$_POST['username']; $_SESSION['email']=base64_decode($user_email); header('Location: panel.php'); exit; }else{ echo '<p style="color:red;">username and password is wrong!</p>'; } } خب به صورت کلی بخوایم توضیح بدیم که چه اتفاقی افتاده میگیم که اول چک میکنه که ایا username,password ارسال شده یا نه بعد میاد فایل users.php رو باز میکنه با mode خواندن یا read بعد متغیر users رو مساوی با داده های فایل users.php قرار میده حالا میایم دوباره متغیر users رو تعریف میکنیم و با استفاده از تابع explode هر اینتری که توی فایل هست(میشه همون متغیر users) رو توی یک اندیس ارایه قرار میدم. یک متغیر user_id هم تعریف میکنیم چون بعدا ازش میخوایم استفاده کنیم خطای undefined var نده بهمون توی for میایم روی اندیس های آرایه users کار میکنیم و با یک if دونه دونه یوزر ها رو بررسی میکنیم با هش شده ی یوزرنیمی که برامون ارسال شده بعد اگر درست بود یعنی اون اندیس یا همون خط، اطلاعات یوزر ما هست که قرارش میدیم توی user_id و البته از .= که استفاده کردیم به این معنیه : $user_id = $user_id + $users[$i]; که اگر از قبل user_id رو تعریف نمیکردیم خطا میداد و دلیل اینکه از .= استفاده کردیم این بود که قراره توی بخش های بعد ازش استفاده کنیم. خب بعد اومدیم دوباره با یک if بررسی کردیم و با تابع strstr چک کردیم که آیا پسورد (به صورت هش شده) وجود داره توی اون اندیس یا نه در واقع پسورد رو بررسی میکنیم. و اگر درست بود میایم متغیر لاگین رو مساوی با true قرار میدیم که یعنی این شخص لاگینش انجام شده. جلوتر میایم میگیم اگر login شده بود بیا توی این شرط که اول میایم ایمیل رو از اون user خارج میکنیم و میزاریم توی متغیر email که روش های مختلفی میشه این کارو انجام داد ولی من از str_replace استفاده کردم حتی از explode هم میشه استفاده کرد و... در نهایت session رو استارت کردیم و session ها رو ست کردیم که من اومدم name رو مساوی با یوزر نیم و email رو مساوی با ایمیل شخص (با توجه به یوزرنیم و پسوردی که وارد کرده) به صورت دیکد قرار دادم. و هدر کردم به پنل که شما میتونید این قسمتش رو با توجه به کاری که میخواید انجام بدید تغییر بدید. و یک else هم داریم برای زمانی که یوزر و پسورد اشتباه هست ارور بده. کد نهایی پیج لاگین: <!DOCTYPE html> <html> <head> </head> <body> <form method="post"> Username: <input type="text" name="username"> <br><br> Password: <input type="password" name="password"> <br><br> <input type="submit" name="login" value="login"> </form> </body> </html> <?php if (isset($_POST['login'])&&isset($_POST['username'])&&isset($_POST['password'])) { $file_handle= fopen('users.php','r'); $users=fread($file_handle,filesize('users.php')); $users=explode("\n",$users); $user_id=''; for ($i=0;$i<count($users)-1;$i++) { // check username if (strstr($users[$i],md5(sha1($_POST['username'])))) { $user_id .= $users[$i]; // check password if (strstr($user_id,md5(sha1($_POST['password'])))) { $login='true'; } } } if (isset($login)&&$login=='true') { $user_email = str_replace('USERNAME:'.md5(sha1($_POST['username'])).',PASSWORD:'.md5(sha1($_POST['password'])).',EMAIL:','',$user_id); session_start(); $_SESSION['login']='true'; $_SESSION['name']=$_POST['username']; $_SESSION['email']=base64_decode($user_email); header('Location: panel.php'); exit; }else{ echo '<p style="color:red;">username and password is wrong!</p>'; } } نکته:‌ دوستان عزیز توی پیج ریجستر یک باگ خطرناک داریم که به شکل یک چالش میتونید بهش نگاه کنید، اگر دوستان تمایل داشتید در پایین تاپیک باگ رو ارائه بدید و همچنین نحوه پچ کردنش چون احتملا تا چند روز دیگه ادامه تاپیک نحوه بستن آسیب پذیری و نحوه استفاده از اون رو گداشتیم و یکم ریزه کاری پیج لاگین. موفق و پیروز باشید.
×
×
  • ایجاد مورد جدید...