# زبان های اسکریپتی > PHP > امنیت در PHP >  آیا این لوگین پیج امنیت داره؟

## ali2712022

session_start();

if(isset($_POST['submit'])){
    $user=$_POST['user'];
    $pass=$_POST['pass'];
    if($user=="ali" and  $pass=="123456"){
        $_SESSION['user']="valid";
        header("Location: index.php");
    }else{
        $_SESSION['user']="Not_valid";
        print("Try again!! <br>");
    }
}

?>

<html>
<head>
    <title>Login</title>
</head>
<body>
<form method="post">
    User:<input type="text" name="user" ><br>
    Pass:<input type="password" name="pass" ><br>
    <input type="submit" name="submit" value="login">
    <input type="reset" name="reset" value="Clear">
</form>
</body>
</html>

با سلام خدمت دوستان-من تازه کارم به نظرتون این لوگین پیج امنیت داره؟ می خوام بدم دست مشتری ترسیدم یه موقع هک شه
نظرتون رو بگید
با تشکر

----------


## masiha68

این ساده ترین لاگینیه که دیدم و نا امنیترینش ... :)
وردی های چک نشدن ... تعداد کاراکتر چک نشده ... نه توکن داره و نه حتی یه کلیپچا ...فقط کافیه یوزر نیم رو بلد باشی تا واردش بشی

----------


## ahmad nazl

اینو میخوای بدی به مشتری؟؟؟؟؟؟؟خدا بهش رحم کنه :گریه:

----------


## Farshid007

> session_start();
> 
> if(isset($_POST['submit'])){
>     $user=$_POST['user'];
>     $pass=$_POST['pass'];
>     if($user=="ali" and  $pass=="123456"){
>         $_SESSION['user']="valid";
>         header("Location: index.php");
>     }else{
> ...


به نظر خودتون امنیت داره؟:/

----------


## joker

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

----------


## kb0y667

منظور داداشمون حمله xss بوده اشتباها تایپ شده css

----------


## Vidico

مقداری جای کار داره، ....

----------


## smksmk

سلام ، 
شما اول باید طول کاراکتر های نام کاربری و کلمه عبور را بدونی چقدر قراره باشه(بستگی با قوانین موقع ثبت نام داره) و بیشتر از مقدار تعیین شده یا کمترش را رد کنی.
مرحله دوم کاراکترهای غیرمجاز برای نام کاربری را با preg_match چک کنی که اگر وجود داشت رد کنی.
کپچا هم که ضروریه و ندارین .
در آخرین مرحله هم میتونید تعداد سعی به ورود را ذخیره کنید و آی پی را مسدود! (البته زیاد مهم نیست)
ضمناً بهتره از jQuery استفاده کنی و قبل از ارسال فرم همه اعتبار سنجی ها یکبار سمت کاربر هم انجام بشه که فرم توسط کاربران به اشتباه ارسال نشه. (مثلا فرم خالی نباشه ، یا طول کاراکتر چک بشه ، کاراکترهای غیرمجاز در نام کاربری هم همینطور)

کد شما چون از دیتابیس نمیخونه شاید فقط برای ورود یک نفر ادمین باشه ! موارد بالا به جز کپچا مربوط به دیتابیس هستش.

----------

