mirror of https://github.com/JohnHammond/CTFd.git
Auto-generate secret key and fixing challenge modal
parent
e659775e0d
commit
81345dc6d2
|
@ -56,4 +56,5 @@ target/
|
|||
*.db
|
||||
*.log
|
||||
.idea/
|
||||
static/uploads
|
||||
CTFd/static/uploads
|
||||
.ctfd_secret_key
|
|
@ -1,6 +1,16 @@
|
|||
import os
|
||||
|
||||
##### GENERATE SECRET KEY #####
|
||||
with open('.ctfd_secret_key', 'a+') as secret:
|
||||
secret.seek(0) # Seek to beginning of file since a+ mode leaves you at the end and w+ deletes the file
|
||||
key = secret.read()
|
||||
if not key:
|
||||
key = os.urandom(64)
|
||||
secret.write(key)
|
||||
secret.flush()
|
||||
|
||||
##### SERVER SETTINGS #####
|
||||
SECRET_KEY = os.urandom(64)
|
||||
SECRET_KEY = key
|
||||
SQLALCHEMY_DATABASE_URI = 'sqlite:///ctfd.db'
|
||||
SESSION_TYPE = "filesystem"
|
||||
SESSION_FILE_DIR = "/tmp/flask_session"
|
||||
|
|
|
@ -27,6 +27,7 @@ function loadchal(id) {
|
|||
obj = $.grep(challenges['game'], function (e) {
|
||||
return e.id == id;
|
||||
})[0]
|
||||
$('a[href=#desc-write]').click() // Switch to Write tab
|
||||
$('.chal-title').text(obj.name);
|
||||
$('.chal-name').val(obj.name);
|
||||
$('.chal-desc').val(obj.description);
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
|
||||
<div class="row">
|
||||
<input id="prevent_name_change" name="prevent_name_change" type="checkbox" {% if prevent_name_change %}checked{% endif %}>
|
||||
<label for="prevent_name_change">Prevent Team Name Changes</label>
|
||||
<label for="prevent_name_change">Prevent team name changes</label>
|
||||
</div>
|
||||
|
||||
<button class="radius" type='submit'>Update</button>
|
||||
|
|
|
@ -1,88 +0,0 @@
|
|||
#submit-key{
|
||||
display: none;
|
||||
}
|
||||
|
||||
#chal > h1{
|
||||
text-align: center
|
||||
}
|
||||
|
||||
#chal > form{
|
||||
width: 400px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#chal > form > h3,h4{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#chal > form > input{
|
||||
display: none;
|
||||
}
|
||||
|
||||
table{
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/*Not sure why foundation needs these two...*/
|
||||
.top-bar input{
|
||||
height: auto;
|
||||
padding-top: 0.35rem;
|
||||
padding-bottom: 0.35rem;
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
.top-bar .button{
|
||||
padding-top: 0.45rem;
|
||||
padding-bottom: 0.35rem;
|
||||
margin-bottom: 0;
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
.dropdown{
|
||||
background-color: #333 !important;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.dropdown button{
|
||||
padding-top: 0.45rem;
|
||||
padding-bottom: 0.35rem;
|
||||
margin-bottom: 0;
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
#challenges button{
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.row h1{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.textbox{
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
.chal-tag{
|
||||
margin: 0 5px 0 5px;
|
||||
}
|
||||
|
||||
#score-graph{
|
||||
max-height: 400px;
|
||||
}
|
||||
|
||||
#keys-pie-graph{
|
||||
width: 400px;
|
||||
max-height: 330px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#categories-pie-graph{
|
||||
width: 600px;
|
||||
float: left;
|
||||
max-height: 330px;
|
||||
}
|
||||
|
||||
#admin-pages-editor{
|
||||
width: 100%;
|
||||
}
|
|
@ -5,5 +5,5 @@ RUN apt-get install git gunicorn -y
|
|||
RUN git clone https://github.com/isislab/CTFd.git /opt/CTFd && cd /opt/CTFd && ./prepare.sh
|
||||
|
||||
WORKDIR /opt/CTFd
|
||||
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "-w", "1", "CTFd:create_app()"]
|
||||
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "-w", "4", "CTFd:create_app()"]
|
||||
EXPOSE 8000
|
||||
|
|
Loading…
Reference in New Issue