2014-04-04 31 views
0

關於保護用戶/密碼錶單的StackOverflow的許多問題,確保管理部分的安全。使用單用戶密碼的安全表單(無數據庫)

對於這篇文章,我創建了一個簡單的用戶密碼錶單。

我期待使用的最佳實踐,並提高安全性這種形式..

特殊性:

  • 沒有數據庫
  • 1用戶名/密碼只有
  • 1簡單安全的網頁

我知道我們錯過了Bruteforce系統,但沒有這個功能,

(沒有MYSQL或數據庫)

**此示例工作

if(isset($_POST) && isset($_POST["send"])): 
    $username = isset($_POST['username'])?$_POST['username']:''; 
    $password = isset($_POST['password'])?$_POST['password']:''; 
    $username = strip_tags(trim($username)); 
    $password = strip_tags(trim($password)); 
    if(preg_match('/^[a-z\d_]{4}$/i', $username) && $username=='user' && preg_match('/^[a-z\d_]{8}$/i', $password) && $password=="password"): 
     $_SESSION["login"] = 1; 
    else: 
     unset($_SESSION["login"]); 
    endif; 
endif; 

if(!isset($_SESSION['login']) || !$_SESSION['login']): 
?> 
    <form class="login" action="<?php echo "http://" . $_SERVER["SERVER_NAME"] . $a; ?>" method="post"> 
     <input type="text" name="username" placeholder="username" /><br> 
     <input type="password" name="password" placeholder="password" /><br> 
     <button name="send"><span>Send</span></button> 
    </form> 
<?php else: ?> 
    <p>Win !</p> 
<?php endif; ?> 
+0

我期待使用的最佳實踐,並提高安全性這種形式的情況下謂。 –

+0

那麼你想提高安全性?讓你的密碼變得複雜,這就是你所能做的所有事情。你可以嘗試通過保存失敗的會話嘗試來實現僞暴力限制器,並且如果計數高於3,則不顯示錶單,即 – MSadura

+0

@MarkS會話與暴力限制器無關,你知道 –

回答

-1

剛剛擺脫所有你把

session_start(); 
if(isset($_POST['password']) && $_POST['password'] == 'pass') 
{ 
    $_SESSION["login"] = 1; 
} 
if(empty($_SESSION['login'])): 
?> 
<form class="login" method="post"> 
    <input type="password" name="password" placeholder="password" /> 
    <button name="send"><span>Send</span></button> 
</form> 
<?php exit; endif; ?> 
+6

你應該告訴他至少你做了什麼......而不是粘貼公然代碼。 –

0

1無謂的東西)創建一個隨機字符串2)使用phpass library加密數據。將其存儲在數組中。

https://phpbestpractices.org/#passwords

3)又在驗證檢查,如果加密的密碼陣列中存在。

注:這純粹是爲了ü描述雖然不建議

+1

它不會使頁面更加安全 –

+0

鑑於他的情況,這是我反芻拿出 – Abhinav

+0

你應該執行情況的健全性檢查 –

相關問題