Puzzle Mot de passe Javascript

  • Sogo7
  • Newbie
  • Newbie
  • Avatar de l’utilisateur
  • Inscription: Mai 11, 2011
  • Messages: 6
  • Loc: UK
  • Status: Offline

Message Mai 13th, 2011, 5:05 am

Heres un teaser petit cerveau pour vous tous.

Un client veut une seule zone sécurisée des membres de leur site Web avec nom d'utilisateur / mot de passe de contrôle d'accès, mais l'hôte des sites web ne supporte pas toute forme de script côté serveur et pour compliquer les choses davantage le client ne veut pas ou ne peuvent se déplacer d'accueil.

Que feriez-vous le code?
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Mai 13th, 2011, 5:05 am

  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8211
  • Loc: USA
  • Status: Offline

Message Mai 13th, 2011, 1:56 pm

htaccess

http://www.htmlite.com/HTA006.php
http://www.google.com/#sclient=psy&hl=e ... 393480168f
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Sogo7
  • Newbie
  • Newbie
  • Avatar de l’utilisateur
  • Inscription: Mai 11, 2011
  • Messages: 6
  • Loc: UK
  • Status: Offline

Message Mai 13th, 2011, 2:31 pm

Bien essayé, mais pas de cigare.
A été la première chose que j'ai pensé, mais d'accueil ne permet pas l'accès côté serveur.

Tout ce que vous avez est un constructeur WYSIWYG en ligne avec une vue de source de HTML simple option d'édition qui permet, heureusement, Javascript doit être inséré.

Il doit donc être fait en utilisant Javascript côté client et doit être sécurisé.

Le bon sens dit theres aucune manière il pourrait fournir une vraie mesure de sécurité, mais ce ne serait pas un casse-tête si la réponse était facile.

Rassurez-vous ce fut une vraie vie challange qui m'a été donnée par un client plus tôt cette année et croyez-le ou pas il ya une solution.
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8211
  • Loc: USA
  • Status: Offline

Message Mai 13th, 2011, 2:40 pm

La seule chose vient à l'esprit est javascript, mais ces choses ne sont pas très sûr.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • Sogo7
  • Newbie
  • Newbie
  • Avatar de l’utilisateur
  • Inscription: Mai 11, 2011
  • Messages: 6
  • Loc: UK
  • Status: Offline

Message Mai 13th, 2011, 6:07 pm

Une feuille de papier est fragile et un répertoire téléphonique peut arrêter une balle.

Regardez au-delà de la faiblesse de la langue et d'examiner ses points forts.



Il m'a fallu une semaine, deux ou trois nuits sans sommeil et du café si épais, vous pouvez le découper en tranches avant de comprendre comment faire :lol: . Quand j'ai assez de postes pour permettre l'ajout d'une URL enverra répondre par message privé.
  • WritingBadCode
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Avr 28, 2011
  • Messages: 214
  • Loc: Sweden
  • Status: Offline

Message Mai 16th, 2011, 3:35 am

S'il vous plaît envoyez-moi la réponse en privé (je sais pour un fait je ne vais pas le découvrir par moi-même, malheureusement).

Mais très curieux sur la façon dont vous l'avez résolu Im.
  • Zealous
  • Guru
  • Guru
  • Avatar de l’utilisateur
  • Inscription: Avr 15, 2011
  • Messages: 1195
  • Loc: Sydney
  • Status: Offline

Message Mai 22nd, 2011, 1:07 pm

Code: [ Select ]
<script type = "text/javascript">

// Note: Like all Javascript password scripts, this is hopelessly insecure as the user can see
//the valid usernames/passwords and the redirect url simply with View Source. 
// And the user can obtain another three tries simply by refreshing the page. 
//So do not use for anything serious!

var count = 2;
function validate() {
var un = document.myform.username.value;
var pw = document.myform.pword.value;
var valid = false;

var unArray = ["Philip", "George", "Sarah", "Michael"]; // as many as you like - no comma after final entry
var pwArray = ["Password1", "Password2", "Password3", "Password4"]; // the corresponding passwords;

for (var i=0; i <unArray.length; i++) {
if ((un == unArray[i]) && (pw == pwArray[i])) {
valid = true;
break;
}
}

if (valid) {
alert ("Login was successful");
window.location = "http://www.google,com";
return false;
}

var t = " tries";
if (count == 1) {t = " try"}

if (count >= 1) {
alert ("Invalid username and/or password. You have " + count + t + " left.");
document.myform.username.value = "";
document.myform.pword.value = "";
setTimeout("document.myform.username.focus()", 25);
setTimeout("document.myform.username.select()", 25);
count --;
}

else {
alert ("Still incorrect! You have no more tries left!");
document.myform.username.value = "No more tries allowed!";
document.myform.pword.value = "";
document.myform.username.disabled = true;
document.myform.pword.disabled = true;
return false;
}

}

</script>

<form name = "myform">
<p>ENTER USER NAME <input type="text" name="username"> ENTER PASSWORD <input type="password" name="pword">
<input type="button" value="Check In" name="Submit" onclick= "validate()">
</p>

</form>
  1. <script type = "text/javascript">
  2. // Note: Like all Javascript password scripts, this is hopelessly insecure as the user can see
  3. //the valid usernames/passwords and the redirect url simply with View Source. 
  4. // And the user can obtain another three tries simply by refreshing the page. 
  5. //So do not use for anything serious!
  6. var count = 2;
  7. function validate() {
  8. var un = document.myform.username.value;
  9. var pw = document.myform.pword.value;
  10. var valid = false;
  11. var unArray = ["Philip", "George", "Sarah", "Michael"]; // as many as you like - no comma after final entry
  12. var pwArray = ["Password1", "Password2", "Password3", "Password4"]; // the corresponding passwords;
  13. for (var i=0; i <unArray.length; i++) {
  14. if ((un == unArray[i]) && (pw == pwArray[i])) {
  15. valid = true;
  16. break;
  17. }
  18. }
  19. if (valid) {
  20. alert ("Login was successful");
  21. window.location = "http://www.google,com";
  22. return false;
  23. }
  24. var t = " tries";
  25. if (count == 1) {t = " try"}
  26. if (count >= 1) {
  27. alert ("Invalid username and/or password. You have " + count + t + " left.");
  28. document.myform.username.value = "";
  29. document.myform.pword.value = "";
  30. setTimeout("document.myform.username.focus()", 25);
  31. setTimeout("document.myform.username.select()", 25);
  32. count --;
  33. }
  34. else {
  35. alert ("Still incorrect! You have no more tries left!");
  36. document.myform.username.value = "No more tries allowed!";
  37. document.myform.pword.value = "";
  38. document.myform.username.disabled = true;
  39. document.myform.pword.disabled = true;
  40. return false;
  41. }
  42. }
  43. </script>
  44. <form name = "myform">
  45. <p>ENTER USER NAME <input type="text" name="username"> ENTER PASSWORD <input type="password" name="pword">
  46. <input type="button" value="Check In" name="Submit" onclick= "validate()">
  47. </p>
  48. </form>


Je me penchais sur ce sujet et je suis un globe de lumière clignotante au-dessus de ma tête mais je crains peut-être tort

Maintenant ne sais pas combien de personnes ont vu l'équipe de Captain Crunch C99sh shell, si vous regardez la source est lu en base64, maintenant je ne suis pas sûr si cela ne s'applique qu'aux PHP permet de dire, mais si nous pouvions faire de même avec HTML Le atob () et btoa () méthodes JavaScript, défini dans le projet de spécification HTML5, de fournir un encodage base64 et la fonctionnalité de décodage des pages web. La méthode atob est inhabituel en ce qu'il n'a pas ignorer les lignes des espaces ou des nouvelles, jetant un INVALID_CHARACTER_ERR lieu. La méthode btoa sorties caractères de remplissage, mais elles sont facultatives dans l'entrée de la méthode atob. (Note du wiki)

hhmm maintenant que j'y pense, il pourrait être converti en arrière, mais ce serait représenté dans la source?

la nourriture pour la pensée et j'espère que ce post n'est pas un échec de la proportion massive.
  • Nightslyr
  • Proficient
  • Proficient
  • No Avatar
  • Inscription: Sep 21, 2005
  • Messages: 274
  • Status: Offline

Message Mai 22nd, 2011, 1:34 pm

Sogo7 a écrit:
Une feuille de papier est fragile et un répertoire téléphonique peut arrêter une balle.

Regardez au-delà de la faiblesse de la langue et d'examiner ses points forts.



Il m'a fallu une semaine, deux ou trois nuits sans sommeil et du café si épais, vous pouvez le découper en tranches avant de comprendre comment faire :lol: . Quand j'ai assez de postes pour permettre l'ajout d'une URL enverra répondre par message privé.


Im curieux de voir votre solution.
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de l’utilisateur
  • Inscription: Déc 20, 2002
  • Messages: 8925
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Message Mai 22nd, 2011, 3:08 pm

La seule chose possible, je peux penser que ce serait sécurisé, est pour le contenu de cette zone membres pour être complètement cryptées avant de le placer dans votre page HTML. Vous devez alors fournir les clients qui ont besoin d'accéder à la clé ou mot de passe pour le décrypter et de les afficher dans le navigateur. Bien sûr, votre page aurait un programme Javascript qui demande le mot de passe qui décrypter les données et dynamique de l'afficher dans le navigateur.

Ce serait très semblable à la façon lorsque vous créez un document Adobe PDF, vous pouvez crypter la totalité du document avec un mot de passe, dont vous pouvez envoyer à n'importe qui. Personne ne serait capable de lire vraiment le contenu du document PDF, sauf s'ils ont ce mot de passe, pourtant tout le monde a toujours accès à la source du fichier PDF, comme tout le monde aurait accès à la source de cette page HTML. La source est inutile mais sans la clé pour le déchiffrer.
Ozzu Hosting - Want your website on a fast server like Ozzu?

Afficher de l'information

  • Total des messages de ce sujet: 9 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 290 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC