{"id":16568,"date":"2012-01-29T15:27:16","date_gmt":"2012-01-29T15:27:16","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/wp-qr-code-login\/"},"modified":"2015-06-28T20:09:39","modified_gmt":"2015-06-28T20:09:39","slug":"wp-qr-code-login","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/wp-qr-code-login\/","author":5508322,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4.3","stable_tag":"trunk","tested":"4.2.39","requires":"4","requires_php":"","requires_plugins":"","header_name":"Unlock Digital (No Passwords)","header_author":"Jack Reichert","header_description":"","assets_banners_color":"","last_updated":"2015-06-28 20:09:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"http:\/\/unlock.digital\/","header_author_uri":"http:\/\/www.jackreichert.com","rating":4.4,"author_block_rating":0,"active_installs":10,"downloads":4422,"num_ratings":7,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":1,"2":0,"3":0,"4":0,"5":6},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":"1085210","resolution":"128x128","location":"assets"},"icon-256x256.png":{"filename":"icon-256x256.png","revision":"1085210","resolution":"256x256","location":"assets"},"icon.svg":{"filename":"icon.svg","revision":"1085210","resolution":"","location":"assets"}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":[],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1085210","resolution":"1","location":"assets"}},"screenshots":{"1":"This is how your login page will look all pimped out with it's QR code."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[602,70406,1930,1373,600],"plugin_category":[54],"plugin_contributors":[85716],"plugin_business_model":[],"class_list":["post-16568","plugin","type-plugin","status-publish","hentry","plugin_tags-login","plugin_tags-no-more-passwords","plugin_tags-password","plugin_tags-qr-code","plugin_tags-security","plugin_category-security-and-spam-protection","plugin_contributors-jackreichert","plugin_committers-jackreichert"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/wp-qr-code-login\/assets\/icon.svg?rev=1085210","icon":"https:\/\/ps.w.org\/wp-qr-code-login\/assets\/icon.svg?rev=1085210","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wp-qr-code-login\/assets\/screenshot-1.png?rev=1085210","caption":"This is how your login page will look all pimped out with it's QR code."}],"raw_content":"<!--section=description-->\n<p>[youtube https:\/\/www.youtube.com\/watch?v=K-YuU7NAMZM&amp;rel=0&amp;controls=0&amp;showinfo=0]<\/p>\n\n<p>With this plugin you can make passwords a thing of the past. All you need is your trusty smartphone with a QR Code reading app.<\/p>\n\n<p>(Coming soon, iOS companion app that will negate your need for a separate QR Code reading app!)<\/p>\n\n<p>Disclaimer: A website is only as secure as the least secure component on it. This plugin aims to be more secure than using the default login page.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload plugin to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>That's it<\/li>\n<\/ol>\n\n<h4>Usage<\/h4>\n\n<ol>\n<li>Scan QR code on login screen of your site. (Coming soon, iOS companion app!)<\/li>\n<li>Open link scanned in your mobile browser.<\/li>\n<li>That's it! (If you don't have a cookie on your mobile browser recognizing you, the first time you try this you'll have to log in on your phone. After that you should be home free)<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>Why do I need to log in on my phone?<\/dt>\n<dd><p>You wouldn't want just ANYONE being able to access your site. Verification is still necessary.<\/p><\/dd>\n<dt>So what's this plugin good for?<\/dt>\n<dd><p>Once you log in once, you won't have to again until your phone cookie runs out (every two weeks or so). That should save you SOME hassle.<\/p><\/dd>\n<dt>What about foo bar?<\/dt>\n<dd><p>I have no answer to foo bar dilemma.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>removed [] array for better compatibility. Some QR codes weren\u2019t loading due to forced SSL.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Made homeurl variable scheme relative<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Created ajax homeurl variable for more accurate QR creation.<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Enabled ability for administrator to disconnect app via site dashboard.<\/li>\n<li>Added better logs.<\/li>\n<li>When hash expires login page no longer reloads.<\/li>\n<li>Fixed issue where page stopped working after being open for a while.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Bugfix.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Removed extra function.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Now works with WordPress installed in subfolders.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Mcrypt implemented in encrypting the TOTP hash.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>TOTP lengthened to 8 length and 60 seconds.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Updated to be used with soon to arrive companion app. <\/li>\n<li>QR code generation happens on your server, not via a google api.<\/li>\n<li>Code refactored, restructured.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed querystring bug<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Updated code to work with WordPress 4.1<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>All POST\/GET variables have been properly sanitized against XSS attacks. Special thanks to Julio from <a href=\"http:\/\/Boiteaweb.fr\/\">Boiteaweb.fr<\/a> for his security analysis and recommendations<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Out of Beta.<\/li>\n<li>IP confirmation fixed.<\/li>\n<\/ul>\n\n<h4>0.6<\/h4>\n\n<ul>\n<li>XSS fix. Special thanks to Julio from <a href=\"http:\/\/Boiteaweb.fr\/\">Boiteaweb.fr<\/a> for his security analysis and recommendations<\/li>\n<\/ul>\n\n<h4>0.5<\/h4>\n\n<ul>\n<li>Delay added to prevent dDos attack<\/li>\n<\/ul>\n\n<h4>0.4<\/h4>\n\n<ul>\n<li>CSRF fix. Special thanks to Julio from <a href=\"http:\/\/Boiteaweb.fr\/\">Boiteaweb.fr<\/a> for his security analysis and recommendations<\/li>\n<li>AJAX, Cron jobs optimized<\/li>\n<\/ul>\n\n<h4>0.3<\/h4>\n\n<ul>\n<li>$wpdb-&gt;prepare added to db queries. Special thanks to <a href=\"http:\/\/wordpress.stackexchange.com\/users\/205\/scribu\">scribu<\/a><\/li>\n<\/ul>\n\n<h4>0.2<\/h4>\n\n<ul>\n<li>nonce added. <\/li>\n<li>get_userdatabylogin updated to get_user_by. Special thanks to <a href=\"http:\/\/wordpress.org\/support\/profile\/ericktedeschi\">ericktedeschi<\/a><\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Fixed to work in subdirectory installs of wp. Special thanks to <a href=\"http:\/\/wordpress.org\/support\/profile\/hlcws\">hlcws<\/a>.<\/li>\n<\/ul>\n\n<h4>0.1<\/h4>\n\n<ul>\n<li>First attempt<\/li>\n<\/ul>","raw_excerpt":"Log into your WordPress site using a smartphone... No typing and no passwords! (almost)","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/16568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=16568"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jackreichert"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=16568"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=16568"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=16568"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=16568"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=16568"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=16568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}