2012-01-18 109 views
1

首先讓我說我剛剛在編碼方面很新,但是現在已經做了半年左右的活動。通過會話通過ahref登錄?

我來碰到一個問題,我無法在這裏找到任何解決方案,或者在那裏。

我想讓:

  1. 做一個用戶,每個人都可以通過點擊超鏈接訪問(AHREF)
  2. 讓它登錄該帳戶,一旦你點擊鏈接
  3. 這對都必須在一個會話中發生

但是,我被困在最後一部分,主要也是因爲我想隱藏數據。

所以我創建了我的用戶,給了它一個密碼,創建了鏈接,並且會話將開始,但是,我無法將此鏈接轉移到實際登錄中,如何如何發送它用戶名+密碼自動?

回答

0

通過JavaScript,你可以使用onLoad事件,如果我沒有記錯,使這個JavaScript發出一個請求。 其他方式將是散列密碼的MD5(或任何你使用它們保存在數據庫),並使其與GET參數正常鏈接像http://localhost/home.php?func=login&username=foo&password=md5(bar

+0

謝謝我今晚會研究一下,看看我能否做到這一點,非常感謝您的快速回復! – 2012-01-18 13:35:28

0

我假設你想創建一個演示用戶在appliacation

創建一個專用的登錄功能此用戶,它不會有任何參數,將在函數體硬編碼的用戶名和密碼

如你有standardLoginFunction(用戶名,密碼)和demoLoginFunction ()與身體:

demoLoginFunction() { 
    demo_username = demo; 
    demo_password = demo; 
    standardLoginFunction(demo_username, demo_password); 
} 

現在你綁定demoLoginFunction到您的網站的適當的元素,這樣一來你不透露任何數據給網站的訪客

0

你將不得不作出的鏈接「模擬」您的登錄邏輯。例如,如果您的登錄鏈接會是什麼樣子?login.php中鍵= KnockKnock,您的login.php腳本會做這樣的事情:

if(isset($_GET['key']) && $_GET['key'] == 'KnockKnock') { 
    // Login triggered 
    $user = 'global'; 
    $password = 'secret'; 

    // From here, continue with your "default" logic, like: 
    $query = "SELECT `id` FROM `users` WHERE `username`='" . mysql_real_escape_string($user) . "'" . 
      " AND `password`='" . md5($password) . "' LIMIT 1"; 
    if(mysql_num_rows(mysql_query($query)) == 1) { 
     // User found! 
     session_start(); 
     // Rest of logic here 
    } 
} 

這是一言以蔽之一個非常簡化程序使用鏈接進行自動登錄

+0

真棒,而且很容易實現,會讓你知道如果這會對我有用,我會在完成工作後在今晚嘗試它。非常感謝! – 2012-01-18 13:36:13

+0

如果可能,遷移到比MD5或SHA-1更好的替代方案,現在認爲它們不安全。 – 2017-06-09 07:46:01

+0

@MatthiasDieterWallnöfer沒錯,但這個例子已經非常過時了。 mysql_函數不再存在。 – Oldskool 2017-06-09 12:26:48