مشكل ساخت صفحه Login ساده توسط PHP

alizadeh69

New Member
سلام. اين 3 صفحه را در نظر بگيريد :
config.php
کد:
[COLOR=#000000][COLOR=#0000bb]<?php[/COLOR]
[COLOR=#ff8000]#Admin['Username'] = 'admin';[/COLOR]
[COLOR=#ff8000]#Admin['Password'] = '123456';[/COLOR]
[COLOR=#0000bb]?>[/COLOR][/COLOR]
index.php
کد:
[COLOR=#000000][COLOR=#0000bb]<?php [/COLOR]
[COLOR=#000000]session_start[/COLOR][COLOR=#007700]();[/COLOR]
[COLOR=#007700]if ( isset([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'User'[/COLOR][COLOR=#007700]]) && isset([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'Pass'[/COLOR][COLOR=#007700]]) )[/COLOR]
[COLOR=#007700]{[/COLOR]
[COLOR=#0000bb]include [/COLOR][COLOR=#dd0000]"config.php"[/COLOR][COLOR=#007700];[/COLOR]
[COLOR=#0000bb]if ( ([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'User'[/COLOR][COLOR=#007700]] == [/COLOR][COLOR=#0000bb]$Admin[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'Username'[/COLOR][COLOR=#007700]]) && ([/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'Pass'[/COLOR][COLOR=#007700]] == [/COLOR][COLOR=#0000bb]$Admin[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'Password'[/COLOR][COLOR=#007700]]) )[/COLOR]
[COLOR=#0000bb]{[/COLOR]
[COLOR=#0000bb]$_SESSION[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'Username'[/COLOR][COLOR=#007700]] = [/COLOR][COLOR=#0000bb]$_POST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#dd0000]'User'[/COLOR][COLOR=#007700]];[/COLOR]
[COLOR=#0000bb]header [/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Location: success.php"[/COLOR][COLOR=#007700]);[/COLOR]
[COLOR=#0000bb]}[/COLOR]
[COLOR=#0000bb]}[/COLOR]
[COLOR=#0000bb]?>[/COLOR][/COLOR]
<html dir="rtl">
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="fa">
<title>LOGIN</title>
</head>
 
<body bgcolor="#800080">
 
<form action="" method="POST">
<p align="center"><span lang="en-us">
<font face="Tahoma" style="font-size: 9pt" color="#FFFFFF">Username : </font>
</span>
<input type="text" name="User" size="38" dir="ltr" style="font-family: Tahoma; font-size: 8pt; color: #FF0000; border: 2px solid #008000"></p>
<p align="center"><span lang="en-us">
<font face="Tahoma" style="font-size: 9pt" color="#FFFFFF">Password :&nbsp;
</font></span>
<input type="password" name="Pass" size="38" dir="ltr" style="font-family: Tahoma; font-size: 8pt; color: #FF0000; border: 2px solid #008000"></p>
<p align="center">
<input type="submit" value="Login &gt;" name="B1" style="font-family: Tahoma; font-size: 8pt; color: #000080; border: 1px solid #FF0000"></p>
<p align="left"><font face="Tahoma" style="font-size: 9pt" color="#FFFFFF">
<span lang="en-us">Design By ALIZADEH</span></font></p>
</form>
<p align="center">&nbsp;</p>
 
</body>
 
</html>
success.php
کد:
<html dir="rtl">
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="fa">
<title>Success</title>
</head>
 
<body bgcolor="#000080">
 
<p align="center">&nbsp;</p>
<p align="center">&nbsp;</p>
<p align="center"><b><font face="Arial" color="#FFFFFF" size="6">تبريك ، ورود 
موفقيت آميز بود ...</font></b></p>
 
</body>
 
</html>
مشكل اين كد كجاست كه هنگام اجرا Error ميده؟ :mad: خواهشاً راهنمايي كنيد. تشكر
modify_inline.gif
 

Allahparast

Member
فایل کانفیگ رو تصحیح کن
PHP:
<?php
$Admin['Username'] = 'admin';
$Admin['Password'] = '123456';
?>
 

Allahparast

Member
در ضمن بهتره اینطور باشه کدت :
PHP:
<?php 
session_start();
if (!empty($_POST['User']) &&!empty($_POST['Pass']) )
{
include "config.php";
if ( ($_POST['User'] == $Admin['Username']) && ($_POST['Pass'] == $Admin['Password']) )
{
$_SESSION['Username'] = $_POST['User'];
header ("Location: success.php");
}
}else{
echo"<h1>invalid your password !<h1>";
}
?>
empty چون هم پست چک میشه هم مقدار اون ورودی
 
آخرین ویرایش:

Allahparast

Member
یعنی چی ؟

یعنی مقدار ورودی رو هم چک میکنه ؟ چطوری چک میکنه ؟ لطفا توضیح بدین, مرسی.
ورودی که بهش میدم بر فرض :
PHP:
if(empty($_POST['put']) echo "Vorodi khalie"; else echo "Vorodi pore";
مقدارش چک میشه که خالی هست یا پره (True,false)
PHP:
function Putcheck($put){
if($put=="") return true; else return false;
}
اگه مقدار بازگشتی از تابع true بود یعنی خالیه و اگر پر false

در ضمن فراموش کردم اینو هم در نظر بگیر :
PHP:
$a = 0.1;
$b = '0.1';
echo (empty($a)? "empty": "not empty");  //is empty
echo (empty($b)? "empty": "not empty");  //not empty
 
آخرین ویرایش:

alizadeh69

New Member
اشتباه از من بود، به جاي $ از # استفاده كردم !!!
حله دستت درد نكنه
 

pasargad-ir

Active Member
ببن مقادیر رو بریز تو DB

پسورد رو هم وقتی می خوار تو DB بریزی بصورت.

PHP:
$Password=md5($password);

هر جا هم خواستی Pass رو چک کنی دوباره از md5 استفاده کن ایمن تره.

اینجوری همه می فهمن Pass چیه چود دیده می شه.

ولی با MD5 مادر PHP هم نمی فهمه.
 

alizadeh69

New Member
ببن مقادیر رو بریز تو DB

پسورد رو هم وقتی می خوار تو DB بریزی بصورت.

PHP:
$Password=md5($password);

هر جا هم خواستی Pass رو چک کنی دوباره از md5 استفاده کن ایمن تره.

اینجوری همه می فهمن Pass چیه چود دیده می شه.

ولی با MD5 مادر PHP هم نمی فهمه.
دوست عزيز شما عينا تو همين پروژه به ما بگو چه طوري پسورد رو تو ديتابيس ذخيره كنيم و چه طوري لاگين كنيم. دستت درد نكنه :oops:
 

pasargad-ir

Active Member
اول 1 بانک اطلاعاتی بساز

بعد 1 جدول بساز

در اون 4 عنصر
ID
Username
Password
Full Name
تعریف کن.

اطلاعات رو بریز اون تو.

هر وقت خواستی بکش بیرون.

چیز مبهمی داره ؟؟؟
 

pasargad-ir

Active Member
چقدر با PHP آشنایی داری ؟؟؟

آخه قراره یاد بدیم.

کد ندیم.

این لینک رو ببین.

http://forum.majidonline.com/showthread.php?t=135334

اگر اصلا برنامه نویسی بلد نیستی و می خوای یاد بگیری 1 حرفه

اگر به امید کمک دیگران هستی که تو امتحان ردی.

کدومش.

می تونم چند تا کد حاضر و آماده برات بنویسم و بزارم.

اما شما ازش چی یاد میگیری ؟؟؟

فقط کارت راه می اوفته و میری ؟؟؟

اما بعدش ......................

چه نفعی واسه من داره (ذکات علم در یاد دادن شه)

چه نفعی واسه شما داره ؟؟؟
 

alizadeh69

New Member
چقدر با PHP آشنایی داری ؟؟؟

آخه قراره یاد بدیم.

کد ندیم.

این لینک رو ببین.

http://forum.majidonline.com/showthread.php?t=135334

اگر اصلا برنامه نویسی بلد نیستی و می خوای یاد بگیری 1 حرفه

اگر به امید کمک دیگران هستی که تو امتحان ردی.

کدومش.

می تونم چند تا کد حاضر و آماده برات بنویسم و بزارم.

اما شما ازش چی یاد میگیری ؟؟؟

فقط کارت راه می اوفته و میری ؟؟؟

اما بعدش ......................

چه نفعی واسه من داره (ذکات علم در یاد دادن شه)

چه نفعی واسه شما داره ؟؟؟
عزيز ما تقريباً صفر كيلومتر هستيم و مي‌خوايم ياد بگيريم. الان اون صفحه ادمين هم خودمون نوشتيم تا ياد بگيريم. حالا شما به ما ياد بده. مرسي :rose:
 

foranyone

Well-Known Member
ببن مقادیر رو بریز تو DB

پسورد رو هم وقتی می خوار تو DB بریزی بصورت.

PHP:
$Password=md5($password);
هر جا هم خواستی Pass رو چک کنی دوباره از md5 استفاده کن ایمن تره.

اینجوری همه می فهمن Pass چیه چود دیده می شه.

ولی با MD5 مادر PHP هم نمی فهمه.

متاسفانه دو بار Md5 کردن اصلا ایمن تر نمیکنه !!! قبلا تو انجمن این موضوع بررسی شده بود !

MD5 رو هم به راحتی میشه پیدا کرد !!

حتی سایت هایی هستن که این کار رو انجام میدن ....

md5crack.com
 

Allahparast

Member
این روش بد نیست :
PHP:
md5(sha1(md5($password)));
الان این میشه یه الگوریتم و تا کسی الگوریتم لاگین شما رو ندونه نمی تونه هک کنه مطمئن باش :wink:
 

sharktech

کاربر فعال
حالا که این موضوع تا اینجا مطرح شده, دوستان بیان و امنیت ایجاد حساب کاربری و همچنین امنیت لاگین کردن و ... رو یه توضیحاتی بدن, البته خواهشن لینک ندین.

حتی اگه شده یه نیم خط برای اصل موضوع بنویسین هم بد نیست.

مرسی
 

alizadeh69

New Member
تا لحظاتي ديگر مقاله خوبي در اين زمينه در اختيارتان قرار مي دهم.
 

alizadeh69

New Member
اين هم اون مقاله كه قولشو داده بودم.
عنوان : انواع Hash و كاربرد آن در PHP
اين مقاله قبلا در نشريه اينترنت (بخوانيد مرحوم نشريه اينترنت!) به چاپ رسيده بود. شماره 34 - آبان و آذر 88
با بهترين كيفيت اسكن شده، اميدوارم استفاده كنيد. :green:
 

پیوست ها

  • Page1.zip
    775.5 کیلوبایت · بازدیدها: 7
  • Page2.zip
    646.2 کیلوبایت · بازدیدها: 15
  • Page3.zip
    637.6 کیلوبایت · بازدیدها: 15

k2-4u

Well-Known Member
MD5 رو هم به راحتی میشه پیدا کرد !!

حتی سایت هایی هستن که این کار رو انجام میدن ....

md5crack.com

md5 هیچ وقت کرک نمیشه
این سایت های که شما میبینید یک بانک اطلاعاتی دارند که همه اعداد و حروف توشه
بعد دونه دونه مقایسه می کنه
بهترین کار اینه که شما طول رشته رو زیر 15 کارکتر نگیرین و از حروف ارقام و کارکتر ها و حتا زبان های دیگه هم استفاده کنید
تا در کتاب خونه های md5 نباشه
یک . نکته دیگر هم اینه بعضی از کلمات در فرهنگ لغت ها پیدا می شن که استفاده از اونا به اتنهایی هم می تونه دردسر درست کنه
مثلا کلمه username رو شما md5 کنید بعد بدینش به همین md5cracker به احتمال 90 تا 80 درصد پیداش می کنه
 

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

بالا