Linux 方法通过我的服务器上的php脚本进行身份验证

Linux 方法通过我的服务器上的php脚本进行身份验证,linux,authentication,web-applications,cron,Linux,Authentication,Web Applications,Cron,我正在使用一个新服务从服务器中提取xml数据 该服务提供两种登录方法,一种是通过url查询: http://<server>/login.asp?username=<User Name>&password=<Password> http:///login.asp?username=&password= 服务器返回一个有效期为7天的cookie。这意味着我每周只需要登录一次,而不是登录每个查询(并降低脚本的效率) 我刚刚意识到我不能这样做,因为脚本不

我正在使用一个新服务从服务器中提取xml数据

该服务提供两种登录方法,一种是通过url查询:

http://<server>/login.asp?username=<User Name>&password=<Password>
http:///login.asp?username=&password=
服务器返回一个有效期为7天的cookie。这意味着我每周只需要登录一次,而不是登录每个查询(并降低脚本的效率)

我刚刚意识到我不能这样做,因为脚本不是从web浏览器运行的,而是从服务器上的cron脚本运行的。有没有办法在我的服务器上存储cookie,或者我必须使用第二种方法:

代币

令牌是用户名passwork 和使用DES加密的用户组 带有密钥和时间戳的算法。 令牌可以由任何 DES算法的应用 使用适当的密钥或安全的 可以使用下面的调用:令牌为 包含在返回的文件的正文中 第页,有效期为一小时

我对这种方法一无所知。你能给我指一下正确的方向吗?谢谢


Ed

如果您有权访问实际的登录脚本,则可以始终包含某种只有您知道的唯一id

更好的方法是像OpenAuth那样使用一些HMAC-(MD5/SHA1)方案。如果你很懒,只需在你访问的每个url中包含类似“?key=somethingollyyouknow”的内容,绕过用户名+密码。用户+密码方案“应该”只被人使用,而不是被机器使用

如果所有这些都失败了,请更改脚本以存储cookie。如果您使用“curl”,您可以指定应该存储cookies,以及应该存储在哪个文件中

有没有办法在我的电脑上储存饼干 服务器

对。以下是方法:

curl -c cookies.txt http://<server>/login.asp?username=<User Name>&password=<Password>
curl-c cookies.txthttp:///login.asp?username=&password=
这将以netscape格式将它们写入
cookies.txt

诺亚