muszka15 Opublikowano 10 Stycznia 2007 Zgłoś Opublikowano 10 Stycznia 2007 function checkFormFields() { var f = document.forms[0]; if(f.password.value=='' || f.login.value=='') { alert("Należy wypełnić wszystkie pola formularza"); } else { f.submit(); } } To jest skrypt loginu i hasla do strony www.Moje pytanie brzmi czy jest ono bezpieczne?Czy da sie go w jakiś sposob obejsć??Bardzo mi zależy na tym aby to był bezpieczny skrypt. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bellum Opublikowano 10 Stycznia 2007 Zgłoś Opublikowano 10 Stycznia 2007 (edytowane) w skryptach tego typu nie ma pojęcia bezpieczne obejść się da wystarczy wpisać coś do dowolnego pola i wcisnąc ENTER forma zostanie za-submitowana :D jeżeli chodzi tobie o takie bezpieczeństwo to go nie ma, jeżeli chodzi tobie o bezpieczeństwo danych z formularza to również PS. daj sobie spółkuj z tym skryptem i zabezpieczenie postaw w PHP Edytowane 10 Stycznia 2007 przez Zawadaki Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
muszka15 Opublikowano 10 Stycznia 2007 Zgłoś Opublikowano 10 Stycznia 2007 (edytowane) Próbowalem sam się "wlamac" na wlasna strone ale sie nie da.Czy na pewno nie da sie nie da uzyc tego skryptu?Jeśli wyśle formae to jak ten wlamywacz może ja zdobyć??Sorry za lamerskie pytania ale w tym temacie jestem nieco zielony. Edytowane 10 Stycznia 2007 przez muszka15 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bellum Opublikowano 11 Stycznia 2007 Zgłoś Opublikowano 11 Stycznia 2007 (edytowane) przed wysłaniem danych POST możesz je zakodować np: algorytmem MD5 :twisted2: <script type="text/javascript">var ObiektXMLHttp = false;if (window.XMLHttpRequest) {ObiektXMLHttp = new XMLHttpRequest();} else if (window.ActiveXObject) {ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");}function pobierz(plik,dane,nazwa) {var objekt_passwd = dane+'='+MD5(document.getElementById(dane).value)+'&'+nazwa+'='+document.getElementById(nazwa).value;if (ObiektXMLHttp) {ObiektXMLHttp.open('POST', plik, true);ObiektXMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-2");ObiektXMLHttp.setRequestHeader("Content-length", objekt_passwd.length);ObiektXMLHttp.setRequestHeader("Connection", "close");ObiektXMLHttp.onreadystatechange = function() {if (ObiektXMLHttp.readyState == (4 || 2) && ObiektXMLHttp.status == 200) {document.write(ObiektXMLHttp.responseText);}}ObiektXMLHttp.send(objekt_passwd);}}</script><script type="text/javascript">var MD5 = function (string) {function RotateLeft(lValue, iShiftBits) {return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));}function AddUnsigned(lX,lY) {var lX4,lY4,lX8,lY8,lResult;lX8 = (lX & 0x80000000);lY8 = (lY & 0x80000000);lX4 = (lX & 0x40000000);lY4 = (lY & 0x40000000);lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);if (lX4 & lY4) {return (lResult ^ 0x80000000 ^ lX8 ^ lY8);}if (lX4 | lY4) {if (lResult & 0x40000000) {return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);} else {return (lResult ^ 0x40000000 ^ lX8 ^ lY8);}} else {return (lResult ^ lX8 ^ lY8);}}function F(x,y,z) { return (x & y) | ((~x) & z); }function G(x,y,z) { return (x & z) | (y & (~z)); }function H(x,y,z) { return (x ^ y ^ z); }function I(x,y,z) { return (y ^ (x | (~z))); }function FF(a,b,c,d,x,s,ac) {a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));return AddUnsigned(RotateLeft(a, s), b);};function GG(a,b,c,d,x,s,ac) {a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));return AddUnsigned(RotateLeft(a, s), b);};function HH(a,b,c,d,x,s,ac) {a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));return AddUnsigned(RotateLeft(a, s), b);};function II(a,b,c,d,x,s,ac) {a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));return AddUnsigned(RotateLeft(a, s), b);};function ConvertToWordArray(string) {var lWordCount;var lMessageLength = string.length;var lNumberOfWords_temp1=lMessageLength + 8;var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;var lNumberOfWords = (lNumberOfWords_temp2+1)*16;var lWordArray=Array(lNumberOfWords-1);var lBytePosition = 0;var lByteCount = 0;while ( lByteCount < lMessageLength ) {lWordCount = (lByteCount-(lByteCount % 4))/4;lBytePosition = (lByteCount % 4)*8;lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));lByteCount++;}lWordCount = (lByteCount-(lByteCount % 4))/4;lBytePosition = (lByteCount % 4)*8;lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);lWordArray[lNumberOfWords-2] = lMessageLength<<3;lWordArray[lNumberOfWords-1] = lMessageLength>>>29;return lWordArray;};function WordToHex(lValue) {var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;for (lCount = 0;lCount<=3;lCount++) {lByte = (lValue>>>(lCount*8)) & 255;WordToHexValue_temp = "0" + lByte.toString(16);WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);}return WordToHexValue;};function Utf8Encode(string) {string = string.replace(/\r\n/g,"\n");var utftext = "";for (var n = 0; n < string.length; n++) {var c = string.charCodeAt(n);if (c < 128) {utftext += String.fromCharCode(c);}else if((c > 127) && (c < 2048)) {utftext += String.fromCharCode((c >> 6) | 192);utftext += String.fromCharCode((c & 63) | 128);}else {utftext += String.fromCharCode((c >> 12) | 224);utftext += String.fromCharCode(((c >> 6) & 63) | 128);utftext += String.fromCharCode((c & 63) | 128);}}return utftext;};var x=Array();var k,AA,BB,CC,DD,a,b,c,d;var S11=7, S12=12, S13=17, S14=22;var S21=5, S22=9 , S23=14, S24=20;var S31=4, S32=11, S33=16, S34=23;var S41=6, S42=10, S43=15, S44=21;string = Utf8Encode(string);x = ConvertToWordArray(string);a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;for (k=0;k<x.length;k+=16) {AA=a; BB=b; CC=c; DD=d;a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);c=FF(c,d,a,b,x[k+2], S13,0x242070DB);b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);c=FF(c,d,a,b,x[k+6], S13,0xA8304613);b=FF(b,c,d,a,x[k+7], S14,0xFD469501);a=FF(a,b,c,d,x[k+8], S11,0x698098D8);d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);a=FF(a,b,c,d,x[k+12],S11,0x6B901122);d=FF(d,a,b,c,x[k+13],S12,0xFD987193);c=FF(c,d,a,b,x[k+14],S13,0xA679438E);b=FF(b,c,d,a,x[k+15],S14,0x49B40821);a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);d=GG(d,a,b,c,x[k+6], S22,0xC040B340);c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);d=GG(d,a,b,c,x[k+10],S22,0x2441453);c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);d=HH(d,a,b,c,x[k+8], S32,0x8771F681);c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);b=HH(b,c,d,a,x[k+6], S34,0x4881D05);a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);a=II(a,b,c,d,x[k+0], S41,0xF4292244);d=II(d,a,b,c,x[k+7], S42,0x432AFF97);c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);b=II(b,c,d,a,x[k+5], S44,0xFC93A039);a=II(a,b,c,d,x[k+12],S41,0x655B59C3);d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);b=II(b,c,d,a,x[k+1], S44,0x85845DD1);a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);c=II(c,d,a,b,x[k+6], S43,0xA3014314);b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);a=II(a,b,c,d,x[k+4], S41,0xF7537E82);d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);b=II(b,c,d,a,x[k+9], S44,0xEB86D391);a=AddUnsigned(a,AA);b=AddUnsigned(b,BB);c=AddUnsigned(c,CC);d=AddUnsigned(d,DD);}var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);return temp.toLowerCase();}</script><body><input type="password" id="passwd" size="20"><input type="text" id="user" size="20"><a href="java script: pobierz('text_post.php','passwd','user')">Wyslij</a></body> Edytowane 11 Stycznia 2007 przez Zawadaki Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 11 Stycznia 2007 Zgłoś Opublikowano 11 Stycznia 2007 moze czegoś nie rozumiem.. ale jak to ma niby działać? Gdzie odbywa sie sprawdzanie hasła? :> Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
evocati Opublikowano 11 Stycznia 2007 Zgłoś Opublikowano 11 Stycznia 2007 Piszesz ze probowales sie wlamac na swoja strona, a potem przepraszasz za lamerskie pytania i mowisz ze jestes w tym temacie ciemny wiec sorry ale jakimi sposobami probowales sie wlamac na swoja strone jezeli niewiesz jak ja zabezpiczyc ? Spospobow na wlamanie sie na strone jest mnustwo i nadal pojawiaja sie nowe wiec ... Pozdrawiam Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bellum Opublikowano 11 Stycznia 2007 Zgłoś Opublikowano 11 Stycznia 2007 moze czegoś nie rozumiem.. ale jak to ma niby działać? Gdzie odbywa sie sprawdzanie hasła? :>hasło powinno być sprawdzone przez system porównań bazy danych, ale nie o to chodzi w tym temacie Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 12 Stycznia 2007 Zgłoś Opublikowano 12 Stycznia 2007 no właśnie mnie to dziwi.. Co ten skrypt właściwie ma do hasłowania jak on sprawdza tylko czy ktoś wpisał cokolwiek... A jesli w jakikolwiek sposób wyśle się dane niezaszyfrowane to zawsze jest cien ryzyka że ktoś siedzi ze sniferem gdzies po drodze na kablu i przechwyci hasło... nie jestem też przekonany o rozwiązaniu jakie podał zawadaki, szyfrując podane hasło o login za pomoca md5 na maszynie użyszkodnika w sieć leci zakodowane hasło.. które ktoś także może przechwycic i posłużyć się tym do wysłania do servera z własnej spreparowanej odpowiednio stronki - trzeba sie zapewne wykazać większą pomysłowością ale tak czy siak jest to do obejścia - chyba że coś mi się popitoliło i pregapiam jakieś oczywiste fakty? :blink: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 12 Stycznia 2007 Zgłoś Opublikowano 12 Stycznia 2007 no właśnie mnie to dziwi.. Co ten skrypt właściwie ma do hasłowania jak on sprawdza tylko czy ktoś wpisał cokolwiek... A jesli w jakikolwiek sposób wyśle się dane niezaszyfrowane to zawsze jest cien ryzyka że ktoś siedzi ze sniferem gdzies po drodze na kablu i przechwyci hasło...Autor tematu mysli ze ten skrypt robi cos innego.. nie jestem też przekonany o rozwiązaniu jakie podał zawadaki,Ja tez. Nie widze zadnego powodu zeby uzywac md5 po stronie uzytkownika. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
bellum Opublikowano 12 Stycznia 2007 Zgłoś Opublikowano 12 Stycznia 2007 (edytowane) ten skrypt który podałem to w zasadzie tylko ciekawostka, ale jak ktoś chce może sobie zastosować zawsze odstraszy to kilku amatorów, ale najlepiej nie stosować żadnych skryptów do formularza logowania Edytowane 12 Stycznia 2007 przez Zawadaki Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...