我的大学不支持后cgi方法(我知道,这很疯狂),并且我希望能够有一个系统,用户可以拥有一个用户名和密码和登录的安全。是这个可能吗?

如果不是的话,你会怎么做到这一职位?只是出于好奇心。

干杯!

有帮助吗?

解决方案

实际上你可以这样做的所有与获得的方法。然而,只要使用一个充满挑战的反应的议定书》登录。(你可以散列在客户端使用javascript。你只需要发出一个独特的挑战。) 你还会想要使用SSL,以确保没有人可以看到符,因为他们去过。

在某种意义上没有真正的安全之间的差异获得和员额的请求,因为他们都去对面在明,在其它的感觉,并在实践中...那是一个地狱的一个很容易到拦截,是所有超过大多数人的日志和网络浏览器的历史。:)

(或者作为建议的其他海报,使用不同的方法完全像HTTP授权,摘要授权或者一些更高水平的认证方案,例如广告、LDAP kerberos或shib.但是我认为如果你没有后你就不会有这些任。)

其他提示

你可以使用HTTP身份验证,如果支持。

你必须添加SSL,作为所有方法后,获得和HTTP授权(良好,除了摘要HHTP认证)发明文。

那基本上只是喜欢后,它只是有一个限制数量的数据,你可以送这通常是大量小于员额和一个语义区别,这使得获得不是一个很好的候选人从这一点来看,即使从技术上讲,他们都可以做到这一点。

作为例子,你使用?有很多选择在Python,喜欢的cgi模块或者一些框架喜欢Django、CherryPy,等等

有一点JavaScript,你可能会有客户的散列的进入密码和一个服务器生成的现时,并且使用,在HTTP得到的。

一个好的选择: HTTP摘要的认证

难以拉脱嗯,但是一个选项: 客户端哈希Javascript

Javascript是最好的选择,在这种情况。

随着要求用户名和密码,它发送一个独特的随机的字符串。然后可以使用一个javascript md5库,以生成一散列的密码,通过结合随机的字符串和密码[pwhash=md5(randomstring+password)].Javascript然后实例的呼吁 http://SERVER/login.cgi?username=TheUsername&random=RANDOMSTRING&pwhash=0123456789abcdef0123456789abcdef

服务器然后必须做两件事:检查如果随机的字符串曾经使用过之前,如果有,拒绝该请求。(非常重要的 安全)

查明文的密码为用户名和做md5(randomstring+密码)。如果相匹配什么样的用户提供在该网址作为一个pwhash,然后你知道它的用户。

因为你检查,如果随机的字符串曾经被使用之前是停止重复攻击。如果有人能看到的的网络通信或浏览记录,或记录,然后他们可以简单地记录在再次使用同一网址,也不论他们是否知道原始密码或没有。

我还建议把"Pragma:no-cache"和"Cache-Control:no-cache"的顶头返回的CGI script,只是使得认证的会议是不存在的浏览器上的或者你的Isp网页高速缓存。

一个更加安全的解决方案将使用适当的加密和挑战的回应。你告诉你的服务器的用户名,服务器发送回来一种挑战(其中一些随机的字符串加密的密码),并告诉你的服务器什么的随机的字符串。如果你能够告诉该服务器,那么显然你有密码是谁你说的是谁!Kerberos它不会这种方式,但有很多更仔细地防止各种攻击。

记录在安全是非常主观的。完全的"安全"是不容易实现(如果在所有可能的...值得商榷).但是,你可以接近。

如果后是不是一种选择,也许你可以使用一个目录的安全性的方法等。就或窗户身份验证取决于什么样的系统。

上述两个会得到你的弹出窗口,允许用户名和密码,以进入。

使用后的方法发送的登录凭证,你将会仅仅使用HTML格式与方法="post"和检索信息,比如说,从一个PHP或ASP页,使用$_POST['varname']方法在PHP或请求。形式("varname")方法在ASP。从PHP或ASP页,作为一个例子,你可以做一个查找数据库的用户,看到,如果用户名和密码组合是否存在,如果是这样,他们重定向到适当的网页。

作为参考,用 http://www.w3schools.com/ASP/showasp.asp?filename=demo_simpleform HTML/ASP部分

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top