HUSTOJ搭建后为了方便作为Judger调用进行的一些修改操作
这里的操作主要包括:
- 找到初始的MySQL数据库用户名和密码;
- 将 csrf 设置为固定值;
- 取消掉同一用户相邻提交时间间隔需要10秒钟的限制。
内容如下:
- 系统:ubuntu18.04.2
- hustoj下载地址:https://github.com/zhblue/hustoj
使用如下命令即可将hustoj下载安装到本地:
wget https://github.com/zhblue/hustoj/raw/master/trunk/install/install-ubuntu18.04.sh
sudo bash install-ubuntu18.04.sh
这需要一段时间。
安装好之后首先以用户名 admin
密码 admin123
注册一个用户。
然后查看 /home/judge/etc/judge.conf
文件可以发现里面有一些数据:
...
OJ_USER_NAME=debian-sys-maint
OJ_PASSWORD=zRqrwJIMreGPLD4N
OJ_DB_NAME=jol
...
其中 OJ_USER_NAME
、OJ_PASSWORD
、OJ_DB_NAME
分别对应你MySQL数据库的用户名、密码和数据库。
对于每一个问题,比如编号为 1000
的问题,他的数据是存放在 /home/judge/data/1000/
目录下的。
修改csrf.php
原始的 `` 文件是这样的:
<?php
require_once("include/db_info.inc.php");
require_once("include/my_func.inc.php");
$token = getToken();
if(!isset($_SESSION[$OJ_NAME.'_'.'csrf_keys'])){
$_SESSION[$OJ_NAME.'_'.'csrf_keys']=array();
}
array_push($_SESSION[$OJ_NAME.'_'.'csrf_keys'],$token);
while(count($_SESSION[$OJ_NAME.'_'.'csrf_keys'])>10)
array_shift($_SESSION[$OJ_NAME.'_'.'csrf_keys']);
?><input type="hidden" name="csrf" value="<?php echo $token?>" class="<?php echo in_array($token,$_SESSION[$OJ_NAME.'_'.'csrf_keys'])?>">
直接修改成:
<?php
?><input type="hidden" name="csrf" value="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" class="<?php echo in_array($token,$_SESSION[$OJ_NAME.'_'.'csrf_keys'])?>">
然后我们每次输csrf值都为 32个a
就可以了: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
。
默认开机不启动nginx,所以要在命令行输入如下命令启动nginx服务器:
sudo nginx
默认如果提交台频繁的话,会报错:“You should not submit more than twice in 10 seconds”
所以我们要去掉这个限制,解决办法是修改 src/web/submit.php
文件,将其中的代码段:
if (count($res)==1){
$view_errors="You should not submit more than twice in 10 seconds.....<br>";
require("template/".$OJ_TEMPLATE."/error.php");
exit(0);
}
注释掉,即变成:
// if (count($res)==1){
// $view_errors="You should not submit more than twice in 10 seconds.....<br>";
// require("template/".$OJ_TEMPLATE."/error.php");
// exit(0);
// }
HUSTOJ搭建后为了方便作为Judger调用进行的一些修改操作的更多相关文章
- ssh搭建后的简化
关于ssh如何搭建还有不懂得朋友可以参考以下网址:http://www.cnblogs.com/LarryBlogger/p/5841446.html 在这里我就不重复再讲了! ssh搭建后的简化 简 ...
- 备库搭建后,进入备库报错psql: FATAL: the database system is starting up
备库搭建后,进入备库报错psql: FATAL: the database system is starting up 原因:备库配置文件没有hot_standby = on mast ...
- HBase、Hive、MapReduce、Hadoop、Spark 开发环境搭建后的一些步骤(export导出jar包方式 或 Ant 方式)
步骤一 若是,不会HBase开发环境搭建的博文们,见我下面的这篇博客. HBase 开发环境搭建(Eclipse\MyEclipse + Maven) 步骤一里的,需要补充的.如下: 在项目名,右键, ...
- ftp搭建后外网无法连接和访问阿里云服务器(非软件)
阿里云服务器由于性价比高,是不少企业建站朋友们的首选.而在购买阿里云服务器后,不少客户反映其在搭建FTP后出现外网无法访问的问题,这里特意搜集整理了关于ftp搭建后外网无法连接和访问的问题,提供以下解 ...
- Python环境搭建后,多种方式的使用进行程序的执行。
Python环境搭建后,可以使用多种方式进行程序的执行. 第一种: 进入CMD命令提示符 输入python 进入python环境(可以使用Ctrl+C退出) 输入print("hello&q ...
- Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤
原文地址: Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤 - 网络资源是无限的 - 博客频道 - CSDN.NET http://blog.csdn.net/fen ...
- loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试
调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...
- dedecms首页调用的简介一直修改不了是自动文章摘要在作怪
一位美女问:dedecms首页调用的简介一直修改不了,ytkah让她到具体的文章修改,然后再重新生成一下首页.她说还是不行.那就奇了怪了,点击到具体的文章页面是显示已经修改好了,为什么首页还是原来的呢 ...
- VC 在调用main函数之前的操作
title: VC 在调用main函数之前的操作 tags: [VC++, 反汇编, C++实现原理] date: 2018-09-16 10:36:23 categories: VC++反汇编分析 ...
随机推荐
- django 项目需要注意的一些点
1.创建新项目 把静态文件夹的名字放在settings文件里面 STATIC_URL = '/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR, ...
- GO语言开发之路
Go语言开发之路 介绍 为什么学习Go语言? 开发环境准备 从零开始搭建Go语言开发环境 VS Code配置Go语言开发环境 基础 Go语言基础之变量和常量 Go语言基础之基本数据类型 Go语言基础之 ...
- ActiveMQ基础
消息队列的作用 为什么使用ActiveMQ,不使用其他工具 下载安装包并启动 http://localhost:8161/admin/ (账号:admin:admin) Java实现步骤: // 1. ...
- python - 手机号正则匹配
Python 手机号正则匹配 # -*- coding:utf-8 -*- import re def is_phone(phone): phone_pat = re.compile('^(13\d| ...
- centos7.2(二)搭建lamp(Apache+PHP+Mysql环境)教程
开始安装前,看说明. 说明0 查看服务器是否能被ssh登陆 http://tool.chinaz.com/port/ 如果显示关闭,说明被大陆封闭了,删除服务器重新建立一个. 说明1:Centos7 ...
- 【笔记】ROS常用命令
环境相关 查看当前环境下包含的包路径echo $ROS_PACKAGE_PATH查看包含的包的路径roscd package TF树相关 查看所有坐标系的状态rosrun tf tf_monitor ...
- 利用dnslog进行sql注入
更多内容,欢迎关注微信公众号:信Yang安全,期待与您相遇. 能够利用dnslog进行注入的两个关键点:secure_file_priv 不能为NULL,仅支持 Windows但不支持 Linux s ...
- Html结构标准
< ! doctype html> 声明文档类型 <html> 根标签 <head> 头标签 <title></title> 标题标签 &l ...
- Python 06 Geany的基本使用2
原文:https://www.cnblogs.com/denny402/p/5096001.html 功能:打开图片 1.下载库 pip install matplotlib 2.编写代码,将代码粘贴 ...
- 开源项目 05 Dapper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...