Calculate countdown by reading X-FIC-time giving by the server instead of rely on user system date
This commit is contained in:
parent
edce0a99f6
commit
5d7967a157
5 changed files with 29 additions and 18 deletions
|
|
@ -61,4 +61,4 @@ RUN chmod 777 /var/www/fic-server/onyx/cache/ /var/www/fic-server/onyx/cache/tem
|
||||||
|
|
||||||
EXPOSE 80/tcp 443/tcp
|
EXPOSE 80/tcp 443/tcp
|
||||||
VOLUME ["/var/www/fic-server/out","/var/www/fic-server/files","/var/www/fic-server/submission","/var/www/fic-server/misc/shared"]
|
VOLUME ["/var/www/fic-server/out","/var/www/fic-server/files","/var/www/fic-server/submission","/var/www/fic-server/misc/shared"]
|
||||||
CMD ["sh", "-c", "chown -R www-data:www-data /var/www/fic-server/misc /var/www/fic-server/submission; cd /var/www/fic-server/misc; if ! [ -f server.crt ]; then bash ./CA.sh -newserver; fi; bash ./CA.sh -gencrl && service nginx start && service php5-fpm start && service mysql start && echo "Copying files..." && ../gen_hash_link_files.sh --copy ../files-in ../files && ../nginx_gen_team.sh > ../misc/shared/nginx-teams.conf && (../launch_local.sh &); /bin/bash"]
|
CMD chown -R www-data:www-data /var/www/fic-server/misc /var/www/fic-server/submission; cd /var/www/fic-server/misc; if ! [ -f server.crt ]; then bash ./CA.sh -newserver; fi; bash ./CA.sh -gencrl && service nginx start && service php5-fpm start && service mysql start && echo "Copying files..." && ../gen_hash_link_files.sh --copy ../files-in ../files; ../nginx_gen_team.sh > ../misc/shared/nginx-teams.conf; (../launch_local.sh &); /bin/bash
|
||||||
|
|
|
||||||
1
TODO
1
TODO
|
|
@ -1,6 +1,5 @@
|
||||||
- Départager les ex-æquo dans le classement
|
- Départager les ex-æquo dans le classement
|
||||||
- Résoudre le problème potentiel de famine de l'ordonnanceur en cas de brute-force d'une équipe
|
- Résoudre le problème potentiel de famine de l'ordonnanceur en cas de brute-force d'une équipe
|
||||||
- Ajouter un header dans nginx avec $msec ou $time_iso8601 et calculer le timer à partir de cette valeur, au lieu de se baser sur l'horloge de l'utilisateur
|
|
||||||
- Quand est généré la CRL ?
|
- Quand est généré la CRL ?
|
||||||
- Ajouter dans la conf de nginx un ssl_dhparam + générer le fichier dans un script
|
- Ajouter dans la conf de nginx un ssl_dhparam + générer le fichier dans un script
|
||||||
- Mettre à jour Smarty (et passer en « secure mode » ?)
|
- Mettre à jour Smarty (et passer en « secure mode » ?)
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ server {
|
||||||
add_header Strict-Transport-Security "max-age=2592000; includeSubdomains";
|
add_header Strict-Transport-Security "max-age=2592000; includeSubdomains";
|
||||||
add_header X-Frame-Options DENY;
|
add_header X-Frame-Options DENY;
|
||||||
add_header X-Content-Type-Options nosniff;
|
add_header X-Content-Type-Options nosniff;
|
||||||
|
add_header X-FIC-time $msec;
|
||||||
|
|
||||||
error_page 400 /errors/400/index.html;
|
error_page 400 /errors/400/index.html;
|
||||||
error_page 403 /errors/403/index.html;
|
error_page 403 /errors/403/index.html;
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,34 @@
|
||||||
function update_end()
|
function update_end(server_time, receive_date)
|
||||||
{
|
{
|
||||||
var left;
|
var elapsed = new Date() - receive_date;
|
||||||
if (typeof end_challenge === 'undefined')
|
|
||||||
left = 14400;
|
|
||||||
else
|
|
||||||
left = (end_challenge - new Date())/1000;
|
|
||||||
|
|
||||||
if (left < 0) left = 0;
|
var left = 10800;
|
||||||
|
if (typeof end_challenge !== 'undefined')
|
||||||
|
left = (end_challenge - server_time - elapsed)/1000;
|
||||||
|
|
||||||
var heure = Math.floor(left / 3600);
|
if (left < 0) left = 0;
|
||||||
var min = Math.floor((left / 60) % 60);
|
|
||||||
var sec = Math.floor(left % 60);
|
|
||||||
|
|
||||||
$("#hours").html(( heure < 10 ? "0" : "" ) + heure);
|
var heure = Math.floor(left / 3600);
|
||||||
$("#min").html(( min < 10 ? "0" : "" ) + min);
|
var min = Math.floor((left / 60) % 60);
|
||||||
$("#sec").html(( sec < 10 ? "0" : "" ) + sec);
|
var sec = Math.floor(left % 60);
|
||||||
|
|
||||||
|
$("#hours").html(( heure < 10 ? "0" : "" ) + heure);
|
||||||
|
$("#min").html(( min < 10 ? "0" : "" ) + min);
|
||||||
|
$("#sec").html(( sec < 10 ? "0" : "" ) + sec);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getHeader(name, def) {
|
||||||
|
for (var j = 0; j < getHttp.length(); j++) {
|
||||||
|
if (getHttp.header(j) == name)
|
||||||
|
return getHttp.data(j);
|
||||||
|
}
|
||||||
|
return def;
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
setInterval( function() {
|
server_time = new Date(getHeader("X-FIC-time"));
|
||||||
update_end();
|
receive_date = new Date();
|
||||||
}, 1000);
|
setInterval( function() {
|
||||||
|
update_end(server_time, receive_date);
|
||||||
|
}, 1000);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
add_header Strict-Transport-Security "max-age=2592000; includeSubdomains";
|
add_header Strict-Transport-Security "max-age=2592000; includeSubdomains";
|
||||||
add_header X-Frame-Options DENY;
|
add_header X-Frame-Options DENY;
|
||||||
add_header X-Content-Type-Options nosniff;
|
add_header X-Content-Type-Options nosniff;
|
||||||
|
add_header X-FIC-time $msec;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
if (-f $request_filename) {
|
if (-f $request_filename) {
|
||||||
|
|
|
||||||
Reference in a new issue