Skip to content
Snippets Groups Projects
Commit 0e38fae4 authored by Will Billingsley's avatar Will Billingsley
Browse files

Added skeleton of the captcha app for the tutorial

parent bc4cbeaf
No related branches found
No related tags found
No related merge requests found
...@@ -6,16 +6,12 @@ import play.mvc.Result; ...@@ -6,16 +6,12 @@ import play.mvc.Result;
public class Application extends Controller { public class Application extends Controller {
public static Result encrypt(String pw) { public static Result index() {
return ok(views.html.application.encrypted.render(BCryptExample.encrypt(pw))); return internalServerError("Not implemented yet...");
}
public static Result matches(String pw) {
return ok(views.html.application.matches.render(BCryptExample.matchesLastEncrypted(pw)));
} }
public static Result index() { public static Result matches() {
return ok(views.html.application.index.render()); return internalServerError("Not implemented yet...");
} }
} }
...@@ -6,7 +6,11 @@ public class Captcha { ...@@ -6,7 +6,11 @@ public class Captcha {
* URLs of photos the user should select * URLs of photos the user should select
*/ */
public static String[] yesPhotos = { public static String[] yesPhotos = {
"http://assets.dogtime.com/breed/profile/image/4d3771f10106195669001f8c/beagle.jpg",
"https://gdkennel.files.wordpress.com/2013/09/010.jpg",
"http://www.perros2.com/wp-content/uploads/2012/06/ddd.jpg",
"http://dogobedienceadvice.com/images/beagle_training.jpg",
"http://www.swish-swash.co.uk/images/beagle/beagles.jpg"
}; };
...@@ -14,7 +18,11 @@ public class Captcha { ...@@ -14,7 +18,11 @@ public class Captcha {
* URLs of photos the user should not select * URLs of photos the user should not select
*/ */
public static String[] noPhotos = { public static String[] noPhotos = {
"http://www.pets4homes.co.uk/images/articles/1265/large/ten-reasons-why-dogs-make-better-pets-than-cats-52bc3172b4816.jpg",
"http://www.adweek.com/files/imagecache/node-blog/sa_article/dog_image_0.jpg",
"http://7-themes.com/data_images/out/36/6891162-dogs.jpg",
"http://www.boxer-dog.org/sites/default/files/imagecache/500_width/ruby2.jpg",
"http://www.imagepuppy.com/resized/762ce6cb8241c08d73ec9304b42f6d5f.jpg"
}; };
/** /**
......
@(hash: String)
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>Here's that encrypted with a new salt:</h1>
<p>@hash</p>
<h2>Check a password matches the last one</h2>
<form action="matches">
<input type="password" name="pw" />
<button type="submit">Check</button>
</form>
</body>
</html>
\ No newline at end of file
@() @(indexes:Array[Int])
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head lang="en"> <head lang="en">
<meta name="referrer" content="no-referrer">
<meta charset="UTF-8"> <meta charset="UTF-8">
<title></title> <title></title>
</head> </head>
<body> <body>
<h1>Encrypt a password:</h1> <h1>Tick all the beagles:</h1>
<form action="encrypt"> <!-- TODO: This form probably has the wrong method... -->
<input type="password" name="pw" /> <form action="captcha" >
<!--
TODO: For each index in the array, show a checkbox with the value of the index, and the relevant img
-->
<button type="submit">Submit</button> <button type="submit">Submit</button>
</form> </form>
......
@(matches: Boolean) @(beagles: Int, found: Int)
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
...@@ -8,17 +8,7 @@ ...@@ -8,17 +8,7 @@
</head> </head>
<body> <body>
@if(matches) { You found @found of @beagles beagles.
<h1>Yes, it matched!</h1>
} else {
<h2>Noo, that wasn't the password</h2>
}
<h2>Check a password matches the last one</h2>
<form action="matches">
<input type="password" name="pw" />
<button type="submit">Check</button>
</form>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -2,10 +2,8 @@ ...@@ -2,10 +2,8 @@
# This file defines all application routes (Higher priority routes first) # This file defines all application routes (Higher priority routes first)
# ~~~~ # ~~~~
# Home page
GET / controllers.Application.index() GET / controllers.Application.index()
GET /encrypt controllers.Application.encrypt(pw) POST /matches controllers.Application.matches()
GET /matches controllers.Application.matches(pw)
# Map static resources from the /public folder to the /assets URL path # Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset) GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment