Added rules/prizes, sanitized other things.
This commit is contained in:
parent
d8e9aa0c46
commit
8a263f4f90
8 changed files with 54 additions and 10 deletions
|
@ -39,7 +39,7 @@ Main Pages:
|
||||||
- <b>chat.html</b>
|
- <b>chat.html</b>
|
||||||
- forgot_password.html
|
- forgot_password.html
|
||||||
- logout.html
|
- logout.html
|
||||||
- rules.html
|
- <b>rules.html</b>
|
||||||
- team.html
|
- team.html
|
||||||
- <b>shell.html</b>
|
- <b>shell.html</b>
|
||||||
- <b>updates.html</b>
|
- <b>updates.html</b>
|
||||||
|
|
|
@ -13,7 +13,7 @@ server {
|
||||||
# }
|
# }
|
||||||
|
|
||||||
# Put all the pages here so Angular doesn't fail.
|
# Put all the pages here so Angular doesn't fail.
|
||||||
location ~^/(about|login|register|scoreboard|chat|updates|problems|programming|shell)$ {
|
location ~^/(about|login|register|scoreboard|chat|updates|problems|programming|shell|rules)$ {
|
||||||
default_type text/html;
|
default_type text/html;
|
||||||
try_files /index.html /index.html;
|
try_files /index.html /index.html;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
@import url(https://fonts.googleapis.com/css?family=Exo+2);
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 75px;
|
font-size: 75px;
|
||||||
}
|
}
|
||||||
|
@ -40,13 +42,17 @@ body {
|
||||||
padding: 5em 0em;
|
padding: 5em 0em;
|
||||||
}
|
}
|
||||||
h1 {
|
h1 {
|
||||||
color: #ee953b;
|
color: #62AC5B;
|
||||||
|
font-family: "Exo 2";
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
color: #226C1B;
|
||||||
}
|
}
|
||||||
li {
|
li {
|
||||||
transition-duration: 0.5s;
|
transition-duration: 0.5s;
|
||||||
}
|
}
|
||||||
li:hover {
|
li:hover {
|
||||||
background-color: #32bcd0;
|
background-color: #0066cc;
|
||||||
}
|
}
|
||||||
tr {
|
tr {
|
||||||
transition-duration: 0.5s;
|
transition-duration: 0.5s;
|
||||||
|
@ -58,10 +64,10 @@ li a, .navbar-brand {
|
||||||
color: white !important;
|
color: white !important;
|
||||||
}
|
}
|
||||||
table {
|
table {
|
||||||
color: #29d257;
|
color: #226C1B;
|
||||||
}
|
}
|
||||||
textarea:focus, input:focus, input[type]:focus, .uneditable-input:focus {
|
/*textarea:focus, input:focus, input[type]:focus, .uneditable-input:focus {
|
||||||
border-color: #29d257;
|
border-color: #62AC5B;
|
||||||
box-shadow: 0 1px 1px rgba(229, 103, 23, 0.075) inset, 0 0 8px #29d257;
|
box-shadow: 0 1px 1px rgba(229, 103, 23, 0.075) inset, 0 0 8px #29d257;
|
||||||
outline: 0 none;
|
outline: 0 none;
|
||||||
}
|
}*/
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
</head>
|
</head>
|
||||||
<body ng-controller="mainController">
|
<body ng-controller="mainController">
|
||||||
<nav class="navbar navbar-default navbar-fixed-top">
|
<nav class="navbar navbar-default navbar-fixed-top">
|
||||||
<div class="container-fluid" style="background-color: #5954dd; margin: -0.1em;">
|
<div class="container-fluid" style="background-color: #0080FF; margin: -0.1em;">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
|
||||||
<span class="sr-only">Toggle navigation</span>
|
<span class="sr-only">Toggle navigation</span>
|
||||||
|
@ -22,6 +22,7 @@
|
||||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||||
<ul class="nav navbar-nav navbar-fixed">
|
<ul class="nav navbar-nav navbar-fixed">
|
||||||
<li><a href="/about">About</a></li>
|
<li><a href="/about">About</a></li>
|
||||||
|
<li><a href="/rules">Rules</a></li>
|
||||||
<li><a href="/updates">Updates</a></li>
|
<li><a href="/updates">Updates</a></li>
|
||||||
<li><a href="/chat">Chat</a></li>
|
<li><a href="/chat">Chat</a></li>
|
||||||
<li><a href="/scoreboard">Scoreboard</a></li>
|
<li><a href="/scoreboard">Scoreboard</a></li>
|
||||||
|
|
|
@ -36,6 +36,10 @@ app.config(function($routeProvider, $locationProvider) {
|
||||||
templateUrl: "pages/shell.html",
|
templateUrl: "pages/shell.html",
|
||||||
controller: "mainController"
|
controller: "mainController"
|
||||||
})
|
})
|
||||||
|
.when("/rules", {
|
||||||
|
templateUrl: "pages/rules.html",
|
||||||
|
controller: "mainController"
|
||||||
|
})
|
||||||
.when("/scoreboard", {
|
.when("/scoreboard", {
|
||||||
templateUrl: "pages/scoreboard.html",
|
templateUrl: "pages/scoreboard.html",
|
||||||
controller: "mainController"
|
controller: "mainController"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<center>
|
<center>
|
||||||
<h1>EasyCTF 3</h1>
|
<h1>EasyCTF 3</h1>
|
||||||
<h3 style="color: #FFBB60;"> Coming 2016 </h3>
|
<h3 style="color: #44783f;"> Coming 2016 </h3>
|
||||||
<br>
|
<br>
|
||||||
<a class="twitter-timeline" href="https://twitter.com/easyctf" data-widget-id="680792667001884672">Tweets by @easyctf</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
<a class="twitter-timeline" href="https://twitter.com/easyctf" data-widget-id="680792667001884672">Tweets by @easyctf</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
||||||
</center>
|
</center>
|
||||||
|
|
|
@ -46,6 +46,8 @@
|
||||||
|
|
||||||
<div id="status"></div>
|
<div id="status"></div>
|
||||||
|
|
||||||
|
<label>Read and agree to follow <a href="/rules" target="_blank">the rules</a></label><br>
|
||||||
|
<label>I have read it:</label><input type="checkbox" class="form-control" value="didRead" style="margin-left:49%;"><br>
|
||||||
<input type="submit" class="btn btn-lg btn-success" value="Register" style="margin-top:1em;">
|
<input type="submit" class="btn btn-lg btn-success" value="Register" style="margin-top:1em;">
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
31
web/pages/rules.html
Normal file
31
web/pages/rules.html
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
<center>
|
||||||
|
<h1> Info </h1>
|
||||||
|
</center>
|
||||||
|
|
||||||
|
<h2>Rules</h2>
|
||||||
|
Here are the rules regarding EasyCTF. Please follow these rules to make sure everyone has a fair chance at winning.
|
||||||
|
|
||||||
|
Use common sense. If you feel like what you're doing is disrupting the competition in any way, STOP doing it. Don't wait for us to yell at you.
|
||||||
|
Only student members may solve problems for their team. While it is acceptable to use resources from the Internet or from other sources, it is not acceptable for a person outside of the 1-5 members of the team to directly assist in solving problems. Don't ask questions on public forums involving specific details of the problems. Don't share flags or methods with other teams.
|
||||||
|
Don't disrupt other teams. Don't attack other teams, and don't attack the contest infrastructure in order to prevent others from solving problems or submitting flags.
|
||||||
|
If you're caught breaking any of these rules, your team may be converted into an observer team (see below), disqualifying you from winning prizes. Decisions made by competition organizers are final.
|
||||||
|
|
||||||
|
<h2>Flag Format</h2>
|
||||||
|
Most of the flags that you will find will be have the format <code>easyctf{example_flag}</code>.
|
||||||
|
|
||||||
|
<h2>Scoring</h2>
|
||||||
|
In EasyCTF, every problem has an assigned point value. Your team's total score is the sum of the points you obtain from every problem you solve. A few problems may have speed bonuses, meaning that the first solve on a problem will earn a bonus percent of the original problem value. These bonus points will also count toward your team total. Here is a screenshot from the problems page to demonstrate.
|
||||||
|
|
||||||
|
|
||||||
|
Teams with higher points will outrank teams with lower points. Should a tie occur between two teams, the time of the last submission will be used to break the tie. For example, if two teams are tied at 100 points, the team that reached 100 points first will outrank the team that reached 100 points afterwards.
|
||||||
|
|
||||||
|
<h2>Eligibility and Observer Accounts/Teams</h2>
|
||||||
|
EasyCTF is targeted at students enrolled in high schools or middle schools across the United States. Therefore, only students who are enrolled in high schools or middle schools in the United States are eligible for prizes. We will verify that the winning teams meet these conditions; if a winning team does not meet these conditions, then the prizes will be given to the next highest team.
|
||||||
|
|
||||||
|
If you don't live in the United States, or you're not a high school or middle school student, you are still encouraged to compete, but under an Observer account. Teams with at least one Observer member will be considered an Observer team. Observer teams still appear in the scoreboard, but are not eligible for prizes.
|
||||||
|
|
||||||
|
<h2>Prizes</h2>
|
||||||
|
<b>1st Place: $512</b><br>
|
||||||
|
2nd Place: $256<br>
|
||||||
|
3rd Place: $128<br>
|
||||||
|
Top 20: Laptop Stickers<br>
|
Loading…
Reference in a new issue