簡體   English   中英

通過我的服務器上的php腳本進行身份驗證的方法

[英]method to authenticate via a php script on my server

我正在使用一項新服務從服務器提取xml數據。

該服務提供兩種登錄方法,一種通過url查詢:

http://<server>/login.asp?username=<User Name>&password=<Password>

並且服務器返回有效期為7天的Cookie。 這意味着我不必每周登錄一次(而是降低我的腳本的效率),而不必為每個查詢登錄。

我剛剛意識到我無法執行此操作,因為該腳本不是從Web瀏覽器運行,而是從服務器上的cron腳本運行。 有沒有一種方法可以在我的服務器上存儲cookie,或者我必須選擇第二種方法:

代幣

令牌是使用帶有密鑰和時間戳的DES算法加密的用戶名,密碼和用戶組。 令牌可以由任何應用程序使用DES算法和適當的密鑰生成,也可以使用下面的安全調用:令牌包含在返回頁面的正文中,有效期為一小時

我對這種方法一無所知。 你能為我指出正確的方向嗎? 謝謝。

埃德

有沒有辦法在我的服務器上存儲cookie?

是。 這是如何做:

curl -c cookies.txt http://<server>/login.asp?username=<User Name>&password=<Password>

這樣會將它們以netscape格式cookies.txt

諾亞

如果您有權訪問實際的登錄腳本,則可以始終包含某種只有您知道的唯一ID。

更好的辦法是像OpenAuth一樣使用一些HMAC-(MD5 / SHA1)方案。 如果您很懶,只需在訪問的每個URL中都包含類似“?key = somethingonlyyouknow”之類的內容即可,而無需使用用戶名和密碼。 用戶+密碼方案“應該”僅真正由人類使用,而不由機器使用。

如果所有操作均失敗,請更改腳本以存儲cookie。 如果使用“ curl”,則可以指定應存儲cookie,以及應將cookie存儲在哪個文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM