parent
fccbc6ae68
commit
c6c659c983
@ -0,0 +1,4 @@ |
||||
*~ |
||||
node_modules |
||||
bower_components |
||||
/nbproject/private/ |
@ -0,0 +1,5 @@ |
||||
language: node_js |
||||
node_js: |
||||
- "7.4.0" |
||||
before_script: |
||||
- npm install -g grunt-cli |
@ -0,0 +1,259 @@ |
||||
# CHANGELOG |
||||
|
||||
## 2.2.0 |
||||
|
||||
- Add new rule to penalize common passwords. |
||||
|
||||
## 2.1.4 |
||||
|
||||
- Thai localization. |
||||
- Fix typo in German localization. |
||||
- Activate by default the extra security rules. |
||||
- Make the invalid chars optional rule configurable. |
||||
|
||||
## 2.1.3 |
||||
|
||||
- Bugfix, call `onScore` when zxcvbn is in use too. |
||||
|
||||
## 2.1.2 |
||||
|
||||
- Fix errors in Portuguese localization. |
||||
- Fix French localization capitalization. |
||||
- Fix ruleIsMet issues with wordMin and wordMax rules. |
||||
- Don't allow verdict to break line when inside progress bar. |
||||
|
||||
## 2.1.1 |
||||
|
||||
- Add missing rule, needed by the `ruleIsMet` method. |
||||
- Add `wordMaxLength` and `wordInvalidChar` optional rules to the engine. |
||||
|
||||
## 2.1.0 |
||||
|
||||
- Slovak translation. |
||||
- Add a new `ruleIsMet` method that returns a boolean value indicating if all |
||||
password inputs in the page pass a specific rule. |
||||
|
||||
## 2.0.8 |
||||
|
||||
- Fix showing the strength of the password through the status of the field. |
||||
|
||||
## 2.0.7 |
||||
|
||||
- Add new option `progressExtraCssClasses` to be able to customize the |
||||
container of the progress bar. |
||||
- Updated development dependencies. |
||||
|
||||
## 2.0.6 |
||||
|
||||
- Updated development dependencies. |
||||
- Bootstrap 4 alpha 6 support. |
||||
|
||||
## 2.0.5 |
||||
|
||||
- Italian localization. |
||||
|
||||
## 2.0.4 |
||||
|
||||
- French localization. |
||||
- Don't use Math.log2 since IE doesn't support it. |
||||
|
||||
## 2.0.3 |
||||
|
||||
- German localization. |
||||
- Polish localization. |
||||
|
||||
## 2.0.2 |
||||
|
||||
- Add a `onScore` callback to allow for a final score modification. |
||||
- Turkish localization. |
||||
|
||||
## 2.0.1 |
||||
|
||||
- Fix bad assignment in the plugin initialization. |
||||
- Russian localization. |
||||
- New option to control the events the plugin listen to. |
||||
|
||||
## 2.0.0 |
||||
|
||||
- Use six possible verdicts and six possible css classes, so they match one |
||||
to one making it possible to configure each class for each verdict level. |
||||
- Properly manage the paste event so the meter updates when the user pastes the |
||||
password. |
||||
- Add a new option to display the password score. |
||||
- Translations support, ahora hablamos idiomas. |
||||
- New option to set the minimum possible percentage filled in the progress bar |
||||
when the password field is not empty. |
||||
- New option to set the minimum possible percentage filled in the progress bar |
||||
when the password field is empty. |
||||
- New option for extra CSS classes to be added to the generated progress bar. |
||||
|
||||
### Breaking changes |
||||
|
||||
- There are 6 verdicts and css classes now, instead of 5. |
||||
- `verdicts` and `errorMessages` options have been removed. Now they rely on |
||||
the translations system. |
||||
|
||||
## 1.2.10 |
||||
|
||||
- Replace entropy call with log2 of guesses for zxcvbn because entropy property |
||||
is removed in zxcvbn v4.0.1, and it was just log2 of guesses. |
||||
|
||||
## 1.2.9 |
||||
|
||||
- No changes, I forgot to add the built files into the 1.2.8, so I'm releasing |
||||
the same again. |
||||
|
||||
## 1.2.8 |
||||
|
||||
- Updated to work with Bootstrap 4. Bootstrap 3 is still the default mode. |
||||
- Allow to establish the placement of the popover through an option. |
||||
- Make the css classes added to the bar and verdicts customizable. |
||||
- Bugfix in the progress bar percentage calculation for a score of zero. |
||||
|
||||
## 1.2.7 |
||||
|
||||
- Bugfix: escape special characters in username for regex. |
||||
|
||||
## 1.2.6 |
||||
|
||||
- More sensible default score for sequences rule. |
||||
- Publish plugin in npm. |
||||
|
||||
## 1.2.5 |
||||
|
||||
- Bugfix when using zxcvbn and form inputs with empty values. |
||||
- New option to specify a list of banned words for zxcvbn. |
||||
|
||||
## 1.2.4 |
||||
|
||||
- New option to add a class in verdict element. |
||||
- If there is text in the password field, don't show the progress bar empty. |
||||
- Empty verdict for an empty password field. |
||||
- Support html in the verdicts content. |
||||
|
||||
## 1.2.3 |
||||
|
||||
- New option to customize the html of the popover with the errors. |
||||
- Bugfix in special char regex. |
||||
|
||||
## 1.2.2 |
||||
|
||||
- Every rule can have associated error messages. |
||||
|
||||
## 1.2.1 |
||||
|
||||
- Improve documentation. |
||||
- Fix typo in alphabetical sequence. |
||||
- Use the not minified version of the library in bower as main file. |
||||
|
||||
## 1.2.0 |
||||
|
||||
- Listen also to the `change` and `onpaste` events, not only to the `onkeyup`. |
||||
- Show the lowest verdict when the score is below zero. |
||||
- New option to pass more input fields content to the zxcvbn library. |
||||
- Don't show the verdicts inside the popover if they are being showed inside |
||||
the progressbar. |
||||
|
||||
## 1.1.5 |
||||
|
||||
- Better Bower configuration. |
||||
- Pass also the verdict level to the "on key up" event handler. |
||||
- Add a basic usage section to the readme. |
||||
|
||||
## 1.1.4 |
||||
|
||||
- Bower support. |
||||
|
||||
## 1.1.3 |
||||
|
||||
- Pass the score and the verdict to the "on key up" event handler. |
||||
|
||||
## 1.1.2 |
||||
|
||||
- Upgrade dev dependencies: grunt plugins and jquery |
||||
- Bugfix in sequences lookup |
||||
- New tests for sequences lookup |
||||
|
||||
## 1.1.1 |
||||
|
||||
- Pass the username field content to the zxcvbn function, so zxcvbn takes it |
||||
into consideration when scoring the password. |
||||
- Add a debug option, so the score gets printed in the JS console. |
||||
- Check reversed sequences too in the sequences rule. |
||||
- Fix the popover flickering. |
||||
|
||||
## 1.1.0 |
||||
|
||||
- Support zxcvbn for password scoring. |
||||
- Support showing the password strength as a validation status in the password |
||||
field. |
||||
- Support hiding the progress bar, making it optional. |
||||
- Support showing the verdicts inside the progress bar. |
||||
|
||||
## 1.0.2 |
||||
|
||||
- Bugfix in UI initialization. |
||||
- Fix typo in readme. |
||||
|
||||
## 1.0.1 |
||||
|
||||
- Separate source file in several smaller files. |
||||
- Add Grunt support for creating a bundle and a minified version. |
||||
- Add tests for the rules engine, and continuos integration with Travis. |
||||
|
||||
## 1.0.0 |
||||
|
||||
- Complete refactor of the code. This is a cleaner version, easier to extend |
||||
and mantain. |
||||
- Broke backwards compatibility. Bootstrap 3 is the default option now, other |
||||
options default values have changed. Options structure has changed too. |
||||
- Old tests have been renamed to examples, which is what they really are. Leave |
||||
room for real tests. |
||||
|
||||
## 0.7.0 |
||||
|
||||
- New rule to check for sequences in the password. It penalizes finding |
||||
sequences of consecutive numbers, consecutive characters in the alphabet or |
||||
in the qwerty layout. Active by default. |
||||
|
||||
## 0.6.0 |
||||
|
||||
- New feature: support showing the verdicts and errors in a Bootstrap popover. |
||||
- Hide the verdicts and errors when the input is empty. |
||||
- Remove _showVerdictsInitially_ option, is not needed anymore. |
||||
|
||||
## 0.5.0 |
||||
|
||||
- Support to activate/deactivate rules using the _rules_ object inside the |
||||
_options_ object. |
||||
- Two new rules added, deactivated by default. Check for too many character |
||||
repetitions, and check for number of character classes used. |
||||
|
||||
## 0.4.5 |
||||
|
||||
- Fix error message when the password contains the username. |
||||
- Check if the password is an email, and mark as weak. |
||||
- Add a _container_ option, it will be used to look for the viewports. |
||||
|
||||
## 0.4.4 |
||||
|
||||
- Bad version in plugin manifest. |
||||
|
||||
## 0.4.3 |
||||
|
||||
- Change jQuery plugin name to avoid conflict with an existing one. |
||||
|
||||
## 0.4.2 |
||||
|
||||
- New option to choose if the verdicts should be displayed before the user |
||||
introduces a letter. New default behaviour: don't show them. |
||||
- Bugfix with progress bar color and Bootstrap 2. |
||||
- Improve code quality. |
||||
|
||||
## 0.4.1 |
||||
|
||||
- jQuery plugins registry support. |
||||
|
||||
## 0.4.0 |
||||
|
||||
- Bootstrap 3.0.0 support. |
@ -0,0 +1,105 @@ |
||||
/*jslint node: true */ |
||||
/*global */ |
||||
|
||||
module.exports = function (grunt) { |
||||
"use strict"; |
||||
|
||||
var license = |
||||
'/*!\n' + |
||||
'* jQuery Password Strength plugin for Twitter Bootstrap\n' + |
||||
'* Version: <%= pkg.version %>\n' + |
||||
'*\n' + |
||||
'* Copyright (c) 2008-2013 Tane Piper\n' + |
||||
'* Copyright (c) 2013 Alejandro Blanco\n' + |
||||
'* Dual licensed under the MIT and GPL licenses.\n' + |
||||
'*/\n\n' + |
||||
'(function (jQuery) {\n'; |
||||
|
||||
grunt.initConfig({ |
||||
pkg: grunt.file.readJSON('package.json'), |
||||
jslint: { |
||||
client: { |
||||
src: [ |
||||
'src/*js', 'spec/*js', 'Gruntfile.js' |
||||
], |
||||
directives: { |
||||
browser: true, |
||||
predef: [ |
||||
'jQuery' |
||||
] |
||||
} |
||||
} |
||||
}, |
||||
jasmine_node: { |
||||
options: { |
||||
forceExit: true, |
||||
jUnit: { |
||||
report: false |
||||
} |
||||
}, |
||||
all: ['spec/'] |
||||
}, |
||||
concat: { |
||||
options: { |
||||
banner: license, |
||||
footer: '}(jQuery));', |
||||
process: function (src, filepath) { |
||||
// Remove ALL block comments, the stripBanners only removes
|
||||
// the first one
|
||||
src = src.replace(/\/\*[\s\S]*?\*\//g, ''); |
||||
return '// Source: ' + filepath + src; |
||||
} |
||||
}, |
||||
dist: { |
||||
src: [ |
||||
'src/i18n.js', 'src/rules.js', 'src/options.js', |
||||
'src/ui.js', 'src/methods.js' |
||||
], |
||||
dest: '<%= pkg.name %>.js' |
||||
} |
||||
}, |
||||
uglify: { |
||||
options: { |
||||
banner: '/* <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> - GPLv3 & MIT License */\n', |
||||
sourceMap: true, |
||||
sourceMapName: '<%= pkg.name %>.min.map' |
||||
}, |
||||
dist: { |
||||
files: { |
||||
'<%= pkg.name %>.min.js': [ |
||||
'<%= concat.dist.dest %>' |
||||
] |
||||
} |
||||
} |
||||
}, |
||||
shell: { |
||||
copyFile: { |
||||
command: 'cp <%= concat.dist.dest %> examples/pwstrength.js' |
||||
}, |
||||
copyZxcvbn: { |
||||
command: 'cp bower_components/zxcvbn/dist/zxcvbn.js examples/zxcvbn.js' |
||||
}, |
||||
copyI18next: { |
||||
command: 'cp bower_components/i18next/i18next.min.js examples/i18next.js' |
||||
}, |
||||
makeDir: { |
||||
command: 'mkdir -p dist' |
||||
}, |
||||
moveFiles: { |
||||
command: 'mv <%= pkg.name %>* dist/' |
||||
} |
||||
} |
||||
}); |
||||
|
||||
// Load the plugins
|
||||
grunt.loadNpmTasks('grunt-jslint'); |
||||
grunt.loadNpmTasks('grunt-shell'); |
||||
grunt.loadNpmTasks('grunt-contrib-uglify'); |
||||
grunt.loadNpmTasks('grunt-contrib-concat'); |
||||
grunt.loadNpmTasks('grunt-jasmine-node'); |
||||
|
||||
grunt.registerTask('test', ['jslint', 'jasmine_node']); |
||||
|
||||
// Default task(s)
|
||||
grunt.registerTask('default', ['jslint', 'concat', 'uglify', 'shell']); |
||||
}; |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "Das Passwort ist zu kurz", |
||||
"wordMinLength": "Das Passwort ist zu kurz", |
||||
"wordMaxLength": "Das Passwort ist zu lang", |
||||
"wordInvalidChar": "Das Passwort enthält ein ungültiges Zeichen", |
||||
"wordNotEmail": "Das Passwort darf die E-Mail Adresse nicht enthalten", |
||||
"wordSimilarToUsername": "Das Passwort darf den Benutzernamen nicht enthalten", |
||||
"wordTwoCharacterClasses": "Bitte Buchstaben und Ziffern verwenden", |
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "Ο κωδικός πρόσβασης δεν έχει τον ελάχιστο αριθμό χαρακτήρων", |
||||
"wordMinLength": "Ο κωδικός πρόσβασης δεν έχει τον ελάχιστο αριθμό χαρακτήρων", |
||||
"wordMaxLength": "Ο κωδικός πρόσβασής σας είναι πολύ μεγάλος", |
||||
"wordInvalidChar": "Ο κωδικός πρόσβασής σας περιέχει έναν μη έγκυρο χαρακτήρα", |
||||
"wordNotEmail": "Μη χρησιμοποιείτε το email ως κωδικό", |
||||
"wordSimilarToUsername": "Ο κωδικός πρόσβασης δεν πρέπει να περιέχει το username", |
||||
"wordTwoCharacterClasses": "Χρησιμοποιήστε διαφορετικές κλάσεις χαρακτήρων", |
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "Your password is too short", |
||||
"wordMinLength": "Your password is too short", |
||||
"wordMaxLength": "Your password is too long", |
||||
"wordInvalidChar": "Your password contains an invalid character", |
||||
"wordNotEmail": "Do not use your email as your password", |
||||
"wordSimilarToUsername": "Your password cannot contain your username", |
||||
"wordTwoCharacterClasses": "Use different character classes", |
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "Via pasvorto estas tro mallonga", |
||||
"wordMinLength": "Via pasvorto estas tro mallonga", |
||||
"wordMaxLength": "Via pasvorto estas tro longa", |
||||
"wordInvalidChar": "Via pasvorto enhavas nevalidan karaktero", |
||||
"wordNotEmail": "Ne uzu vian retpoŝtadreson kiel la pasvorton", |
||||
"wordSimilarToUsername": "Via pasvorto enhavas vian uzanto-nomon", |
||||
"wordTwoCharacterClasses": "Uzu signojn de diversaj tipoj (ekz., literoj kaj ciferoj)", |
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "Tu contraseña es demasiado corta", |
||||
"wordMinLength": "Tu contraseña es demasiado corta", |
||||
"wordMaxLength": "Tu contraseña es muy larga", |
||||
"wordInvalidChar": "Tu contraseña contiene un carácter no válido", |
||||
"wordNotEmail": "No uses tu email como tu contraseña", |
||||
"wordSimilarToUsername": "Tu contraseña no puede contener tu nombre de usuario", |
||||
"wordTwoCharacterClasses": "Mezcla diferentes clases de caracteres", |
@ -0,0 +1,17 @@ |
||||
{ |
||||
"wordMinLength": "La tua password è troppo corta", |
||||
"wordMaxLength": "La tua password è troppo lunga", |
||||
"wordInvalidChar": "La tua password contiene un carattere non valido", |
||||
"wordNotEmail": "Non usare la tua e-mail come password", |
||||
"wordSimilarToUsername": "La tua password non può contenere il tuo nome", |
||||
"wordTwoCharacterClasses": "Usa classi di caratteri diversi", |
||||
"wordRepetitions": "Troppe ripetizioni", |
||||
"wordSequences": "La tua password contiene sequenze", |
||||
"errorList": "Errori:", |
||||
"veryWeak": "Molto debole", |
||||
"weak": "Debole", |
||||
"normal": "Normale", |
||||
"medium": "Media", |
||||
"strong": "Forte", |
||||
"veryStrong": "Molto forte" |
||||
} |
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "Hasło jest zbyt krótkie", |
||||
"wordMinLength": "Hasło jest zbyt krótkie", |
||||
"wordMaxLength": "Hasło jest za długie", |
||||
"wordInvalidChar": "Hasło zawiera nieprawidłowy znak", |
||||
"wordNotEmail": "Hasło nie może być Twoim emailem", |
||||
"wordSimilarToUsername": "Hasło nie może zawierać nazwy użytkownika", |
||||
"wordTwoCharacterClasses": "Użyj innych klas znaków", |
@ -1,11 +1,13 @@ |
||||
{ |
||||
"wordLength": "Sua senha é muito curta", |
||||
"wordMinLength": "Sua senha é muito curta", |
||||
"wordMaxLength": "Sua senha é muito longa", |
||||
"wordInvalidChar": "Sua senha contém um caractere inválido", |
||||
"wordNotEmail": "Não use seu e-mail como senha", |
||||
"wordSimilarToUsername": "Sua senha não pode conter o seu nome de usuário", |
||||
"wordTwoCharacterClasses": "Use diferentes classes de caracteres", |
||||
"wordRepetitions": "Muitas repetições", |
||||
"wordSequences": "Sua senha contém sequências", |
||||
"errorList": "Errores:", |
||||
"errorList": "Erros:", |
||||
"veryWeak": "Muito Fraca", |
||||
"weak": "Fraca", |
||||
"normal": "Normal", |
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "Слишком короткий пароль", |
||||
"wordMinLength": "Слишком короткий пароль", |
||||
"wordMaxLength": "Ваш пароль слишком длинный", |
||||
"wordInvalidChar": "Ваш пароль содержит недопустимый символ", |
||||
"wordNotEmail": "Не используйте e-mail в качестве пароля", |
||||
"wordSimilarToUsername": "Пароль не должен содержать логин", |
||||
"wordTwoCharacterClasses": "Используйте разные классы символов", |
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "Vaše heslo je príliž krátke", |
||||
"wordMinLength": "Vaše heslo je príliž krátke", |
||||
"wordMaxLength": "Vaše heslo je príliš dlhé", |
||||
"wordInvalidChar": "Vaše heslo obsahuje neplatný znak", |
||||
"wordNotEmail": "Nepoužívajte Váš email ako Vaše heslo", |
||||
"wordSimilarToUsername": "Vaše heslo nesmie obsahovať prihlasovacie meno", |
||||
"wordTwoCharacterClasses": "Použite rôzne druhy znakov", |
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "Girdiğiniz şifre çok Kısa", |
||||
"wordMinLength": "Girdiğiniz şifre çok Kısa", |
||||
"wordMaxLength": "Parolanız çok uzun", |
||||
"wordInvalidChar": "Şifreniz geçersiz bir karakter içeriyor", |
||||
"wordNotEmail": "E-mail adresinizi şifreniz içerisinde kullanmayınız", |
||||
"wordSimilarToUsername": "Kullanıcı Adınızı şifreniz içerisinde kullanmayınız", |
||||
"wordTwoCharacterClasses": "Başka karakter sınıfı kullanınız", |
@ -1,5 +1,7 @@ |
||||
{ |
||||
"wordLength": "您的密碼太短", |
||||
"wordMinLength": "您的密碼太短", |
||||
"wordMaxLength": "您的密碼太長", |
||||
"wordInvalidChar": "您的密碼包含無效字符", |
||||
"wordNotEmail": "不要使用電子郵件作為密碼", |
||||
"wordSimilarToUsername": "您的密碼不能包含您的用戶名", |
||||
"wordTwoCharacterClasses": "使用不同的字元類型 例如: 大小寫混合", |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,40 @@ |
||||
{ |
||||
"name": "pwstrength-bootstrap", |
||||
"version": "2.2.0", |
||||
"description": "jQuery plugin for Twitter Bootstrap that provides rulesets for visualy displaying the quality of a users typed in password.", |
||||
"author": "Alejandro Blanco <alejandro.b.e@gmail.com>", |
||||
"homepage": "https://github.com/ablanco/jquery.pwstrength.bootstrap", |
||||
"bugs": { |
||||
"url": "https://github.com/ablanco/jquery.pwstrength.bootstrap/issues" |
||||
}, |
||||
"keywords": [ |
||||
"bootstrap", |
||||
"password", |
||||
"strength", |
||||
"meter", |
||||
"jquery-plugin", |
||||
"ecosystem:jquery" |
||||
], |
||||
"repository": { |
||||
"type": "git", |
||||
"url": "https://github.com/ablanco/jquery.pwstrength.bootstrap.git" |
||||
}, |
||||
"license": "(GPL-3.0 OR MIT)", |
||||
"scripts": { |
||||
"test": "grunt test" |
||||
}, |
||||
"dependencies": { |
||||
"jquery": ">=3.0.0", |
||||
"bootstrap": ">=2.0.0" |
||||
}, |
||||
"devDependencies": { |
||||
"grunt": "~1.0.1", |
||||
"grunt-jslint": "1.1.14", |
||||
"grunt-shell": "~2.1.0", |
||||
"grunt-contrib-concat": "~1.0.1", |
||||
"grunt-contrib-uglify": "~3.0.x", |
||||
"grunt-jasmine-node": "~0.3.1", |
||||
"jquery": "3.2.x", |
||||
"jsdom": "~9.11.0" |
||||
} |
||||
} |
Loading…
Reference in new issue