Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wlasny ssl
squid
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

Ostrzeżenie: (0%)
-----


Witam!
w obliczu pewnego problemu (braku SSL) na darmowych serwerach wartoby pomyslec nad obejsciem tego problemu.

Otoz mznaby za pomoca javascriptu generowac zhaszowany (md5) ciag zawierajacy login haslo itd. i porownywac go na serwerze z tam zhaszowanym. Tyleko jak do haszowania doda sie czas (dla wikszego bezpieczenstwa) to taki pakiet informacji musialby docierac do serwera natychmiast, wiec mazna to z kolei obejsc poprzez wygenerowanie na serwerze kilku(nastu) md5 i kilejno je porownujemy z tym co przegladarka wslala do serwera. Ale to tez daje wznoosc na kilka sekund i w dodatu obarcza serwer obliczeniami.

plik index.php:
[php:1:10ee9802fc]<?php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Logowanie</title>
<script type="text/javascript" src="login.js"></script>
<script type="text/javascript">
var czas=<?php print(time()."rn")?>
setInterval('czas++',1000)
</script>
</head>
<body>
<form onsubmit="return send(this.login.value, this.pwd.value, czas, 'frm')">
Login: <input type="text" name="login"><br>
Hasło: <input type="password" name="pwd"><br>
<input type="submit" value="Zaloguj">
</form>
<form action="login.php" method="post" name="frm">
<input type="hidden" name="s">
</form>
</body>
</html>
?>[/php:1:10ee9802fc]

plik login.php
[php:1:10ee9802fc]<?php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Logowanie</title>
</head>
<body>
<?php
// definiujemy poprawny login i hasło
$login='test';
$haslo='xyz123';

// pobieramy aktualny znacznik czasu
$czas=time();

// wykonujemy pętlę sprawdzającą poprawność przesłanej sumy MD5
for($i=0; $i<15; $i++){
if(md5($login.$haslo.($czas-$i)) == $_POST['s']){
print("Podany login i hasło są poprawne !");break;
}
}

// jeżeli przesłana suma MD5 jest niepoprawna, wyświetlamy stosowną informację
if($i==15)print("Brak autoryzacji !<br><a href='java script:history.go(-1)'>Spróbuj jeszcze raz</a>");
?>
</body>
</html>
?>[/php:1:10ee9802fc]

plik login.js
Kod
// SecureLogin 1.1 by Michal Grzechowiak (C) 2003

function y(n){var s='',h='0123456789abcdef',i=0

for(i;i<4;)s+=h.charAt((n>>(i*8+4))&15)+h.charAt((n>>(i++*8))&15);return s}

function k(s){var l=s.length,n=((l+8)>>6)+1,b=[],i=0

  for(i;i<n*16;)b[i++]=0;for(i=0;i<l;i++)b[i>>2]|=s.charCodeAt(i)<<((i%4)*8)

  b[i>>2]|=128<<((i%4)*8);b[n*16-2]=l*8;return b}

function u(x,y){var l=(x&0xFFFF)+(y&0xFFFF),m=(x>>16)+(y>>16)+(l>>16);return (m<<16)|(l&0xFFFF)}

function r(n,c){return (n<<c)|(n>>>(32-c))}

function m(q,a,b,x,s,t){return u(r(u(u(a,q),u(x,t)),s),b)}

function f(a,b,c,d,x,s,t){return m((b&c)|((~b)&d),a,b,x,s,t)}

function g(a,b,c,d,x,s,t){return m((b&d)|(c&(~d)),a,b,x,s,t)}

function h(a,b,c,d,x,s,t){return m(b^c^d,a,b,x,s,t)}

function i(a,b,c,d,x,s,t){return m(c^(b|(~d)),a,b,x,s,t)}

function md5(s){

var x=k(s),a=1732584193,b=-271733879,c=-1732584194,d=271733878,j,o

for(j=0;j<x.length;j+=16){

  o=[a,b,c,d]

  a=f(a,b,c,d,x[j+0],7,-680876936)

  d=f(d,a,b,c,x[j+1],12,-389564586)

  c=f(c,d,a,b,x[j+2],17,606105819)

  b=f(b,c,d,a,x[j+3],22,-1044525330)

  a=f(a,b,c,d,x[j+4],7,-176418897)

  d=f(d,a,b,c,x[j+5],12,1200080426)

  c=f(c,d,a,b,x[j+6],17,-1473231341)

  b=f(b,c,d,a,x[j+7],22,-45705983)

  a=f(a,b,c,d,x[j+8],7,1770035416)

  d=f(d,a,b,c,x[j+9],12,-1958414417)

  c=f(c,d,a,b,x[j+10],17,-42063)

  b=f(b,c,d,a,x[j+11],22,-1990404162)

  a=f(a,b,c,d,x[j+12],7,1804603682)

  d=f(d,a,b,c,x[j+13],12,-40341101)

  c=f(c,d,a,b,x[j+14],17,-1502002290)

  b=f(b,c,d,a,x[j+15],22,1236535329)

  a=g(a,b,c,d,x[j+1],5,-165796510)

  d=g(d,a,b,c,x[j+6],9,-1069501632)

  c=g(c,d,a,b,x[j+11],14,643717713)

  b=g(b,c,d,a,x[j+0],20,-373897302)

  a=g(a,b,c,d,x[j+5],5,-701558691)

  d=g(d,a,b,c,x[j+10],9,38016083)

  c=g(c,d,a,b,x[j+15],14,-660478335)

  b=g(b,c,d,a,x[j+4],20,-405537848)

  a=g(a,b,c,d,x[j+9],5,568446438)

  d=g(d,a,b,c,x[j+14],9,-1019803690)

  c=g(c,d,a,b,x[j+3],14,-187363961)

  b=g(b,c,d,a,x[j+8],20,1163531501)

  a=g(a,b,c,d,x[j+13],5,-1444681467)

  d=g(d,a,b,c,x[j+2],9,-51403784)

  c=g(c,d,a,b,x[j+7],14,1735328473)

  b=g(b,c,d,a,x[j+12],20,-1926607734)

  a=h(a,b,c,d,x[j+5],4,-378558)

  d=h(d,a,b,c,x[j+8],11,-2022574463)

  c=h(c,d,a,b,x[j+11],16,1839030562)

  b=h(b,c,d,a,x[j+14],23,-35309556)

  a=h(a,b,c,d,x[j+1],4,-1530992060)

  d=h(d,a,b,c,x[j+4],11,1272893353)

  c=h(c,d,a,b,x[j+7],16,-155497632)

  b=h(b,c,d,a,x[j+10],23,-1094730640)

  a=h(a,b,c,d,x[j+13],4,681279174)

  d=h(d,a,b,c,x[j+0],11,-358537222)

  c=h(c,d,a,b,x[j+3],16,-722521979)

  b=h(b,c,d,a,x[j+6],23,76029189)

  a=h(a,b,c,d,x[j+9],4,-640364487)

  d=h(d,a,b,c,x[j+12],11,-421815835)

  c=h(c,d,a,b,x[j+15],16,530742520)

  b=h(b,c,d,a,x[j+2],23,-995338651)

  a=i(a,b,c,d,x[j+0],6,-198630844)

  d=i(d,a,b,c,x[j+7],10,1126891415)

  c=i(c,d,a,b,x[j+14],15,-1416354905)

  b=i(b,c,d,a,x[j+5],21,-57434055)

  a=i(a,b,c,d,x[j+12],6,1700485571)

  d=i(d,a,b,c,x[j+3],10,-1894986606)

  c=i(c,d,a,b,x[j+10],15,-1051523)

  b=i(b,c,d,a,x[j+1],21,-2054922799)

  a=i(a,b,c,d,x[j+8],6,1873313359)

  d=i(d,a,b,c,x[j+15],10,-30611744)

  c=i(c,d,a,b,x[j+6],15,-1560198380)

  b=i(b,c,d,a,x[j+13],21,1309151649)

  a=i(a,b,c,d,x[j+4],6,-145523070)

  d=i(d,a,b,c,x[j+11],10,-1120210379)

  c=i(c,d,a,b,x[j+2],15,718787259)

  b=i(b,c,d,a,x[j+9],21,-343485551)

  a=u(a,o[0]);b=u(b,o[1]);c=u(c,o[2]);d=u(d,o[3])}return y(a)+y(b)+y(c)+y(d)}

function send(q,w,x,v){with(document.forms[v])s.value=md5(q+w+x),submit();return!1}


Moje pytanie czy jest jakis sposob by ominac te niedogodnosc generowania wielu md5 na serwerze
Go to the top of the page
+Quote Post

Posty w temacie
- squid   Wlasny ssl   5.12.2003, 17:12:36
- - adwol   http://forum.php.pl/viewtopic.php?p=48068#48068 Mo...   5.12.2003, 19:52:36
- - squid   calkiem ciekawe, dziekuje, narazie mi to wystarczy...   5.12.2003, 21:05:35
- - pat_   Nie wiem czy rozumiem, ale gdybyś do zakodowanej i...   3.01.2004, 22:58:34
- - squid   jesli zrezygnuje z dodawania czasu to spadnie bezp...   8.01.2004, 22:18:41
- - enceladus   Nie wiem czy ktoś to proponował, ale co myślicie o...   8.01.2004, 22:38:26
- - squid   na pierwszy rzut oka pomysl niezly ale mam jedno '...   8.01.2004, 22:45:51
- - enceladus   Cytatna pierwszy rzut oka pomysl niezly ale mam je...   8.01.2004, 23:07:33
- - adwol   Cytat1. hasło na serwerze nie jest jawne Ale to ni...   8.01.2004, 23:36:23
- - enceladus   CytatCytat1. hasło na serwerze nie jest jawne Ale ...   8.01.2004, 23:50:10
- - adwol   CytatZmienia i to dużo - kłania się ludzkie lenist...   9.01.2004, 00:08:21
- - enceladus   CytatCytatZmienia i to dużo - kłania się ludzkie l...   9.01.2004, 00:09:18
- - enceladus   CytatJest to mój przykład i nie widzę na jakiej po...   9.01.2004, 00:27:17
- - adwol   Przyjrzałem się teraz temu kodowi i faktycznie nie...   9.01.2004, 00:43:08
- - enceladus   CytatPrzyjrzałem się teraz temu kodowi i faktyczni...   9.01.2004, 00:57:24
- - a1internet   Cytat5. Atakujący przerabia stronę logowania, wsta...   11.01.2004, 23:00:37
- - squid   pod warunkiem ze ip sie nie zmieni czyli mowimy tu...   11.01.2004, 23:16:00
- - enceladus   CytatWarto generować MD5 nie tylko w oparciu o has...   11.01.2004, 23:24:38
- - a1internet   Cytatpod warunkiem ze ip sie nie zmieni czyli mowi...   12.01.2004, 02:38:06
- - Bora   Ja chcąc zebezpieczyć kod wziąłem sie za sesje. I...   12.01.2004, 02:51:04
- - a1internet   CytatKtóre MD5 - bo nie bardzo rozumiem ?   A...   12.01.2004, 03:19:24
- - Bora   CytatWątek dotyczył tego, jak dokonać autoryzacji ...   12.01.2004, 03:35:33
- - enceladus   CytatWątek dotyczył tego, jak dokonać autoryzacji ...   12.01.2004, 09:22:49
- - Bora   mój poprzedni komentarz pisałem w nocy i choziło p...   13.01.2004, 11:23:14


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 02:39