这里的操作主要包括:

  1. 找到初始的MySQL数据库用户名和密码;
  2. 将 csrf 设置为固定值;
  3. 取消掉同一用户相邻提交时间间隔需要10秒钟的限制。

内容如下:


使用如下命令即可将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_NAMEOJ_PASSWORDOJ_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调用进行的一些修改操作的更多相关文章

  1. ssh搭建后的简化

    关于ssh如何搭建还有不懂得朋友可以参考以下网址:http://www.cnblogs.com/LarryBlogger/p/5841446.html 在这里我就不重复再讲了! ssh搭建后的简化 简 ...

  2. 备库搭建后,进入备库报错psql: FATAL: the database system is starting up

        备库搭建后,进入备库报错psql: FATAL:  the database system is starting up  原因:备库配置文件没有hot_standby = on   mast ...

  3. HBase、Hive、MapReduce、Hadoop、Spark 开发环境搭建后的一些步骤(export导出jar包方式 或 Ant 方式)

    步骤一 若是,不会HBase开发环境搭建的博文们,见我下面的这篇博客. HBase 开发环境搭建(Eclipse\MyEclipse + Maven) 步骤一里的,需要补充的.如下: 在项目名,右键, ...

  4. ftp搭建后外网无法连接和访问阿里云服务器(非软件)

    阿里云服务器由于性价比高,是不少企业建站朋友们的首选.而在购买阿里云服务器后,不少客户反映其在搭建FTP后出现外网无法访问的问题,这里特意搜集整理了关于ftp搭建后外网无法连接和访问的问题,提供以下解 ...

  5. Python环境搭建后,多种方式的使用进行程序的执行。

    Python环境搭建后,可以使用多种方式进行程序的执行. 第一种: 进入CMD命令提示符 输入python 进入python环境(可以使用Ctrl+C退出) 输入print("hello&q ...

  6. Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤

    原文地址: Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤 - 网络资源是无限的 - 博客频道 - CSDN.NET http://blog.csdn.net/fen ...

  7. loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试

    调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...

  8. dedecms首页调用的简介一直修改不了是自动文章摘要在作怪

    一位美女问:dedecms首页调用的简介一直修改不了,ytkah让她到具体的文章修改,然后再重新生成一下首页.她说还是不行.那就奇了怪了,点击到具体的文章页面是显示已经修改好了,为什么首页还是原来的呢 ...

  9. VC 在调用main函数之前的操作

    title: VC 在调用main函数之前的操作 tags: [VC++, 反汇编, C++实现原理] date: 2018-09-16 10:36:23 categories: VC++反汇编分析 ...

随机推荐

  1. MSP430 LaunchPad开发板入门教程集合

    MSP-EXP430G2开发板是德州仪器提供的开发工具,也称为LaunchPad,用于学习和练习如何使用其微控制器产品.该开发板属于MSP430 Value Line系列,我们可以对所有MSP430系 ...

  2. 算法- 求解最大平均值的子树-经典dfs题目

    给一棵二叉树,找到有最大平均值的子树.返回子树的根结点. Example 样例1 输入: {1,-5,11,1,2,4,-2} 输出:11 说明: 这棵树如下所示: 1 / \ -5 11 / \ / ...

  3. Android Handler机制彻底梳理

    Android的消息机制其实也就是Handler相关的机制,对于它的使用应该熟之又熟了,而对于它的机制的描述在网上也一大堆[比如15年那会在网上抄了一篇https://www.cnblogs.com/ ...

  4. sql中如何获取一条数据中所有字段的名称和值

    declare ) ) --获取表的列名 ,),filename INTO #templist FROM (select cl.name as filename from sys.tables AS ...

  5. C# 退出应用程序的几种方法

    Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵 this.Close();//只是关闭当前窗体. Application.ExitT ...

  6. Idea中,项目文件右键菜单没有svn选项处理办法

    问题描述 IntelliJ IDEA打开带SVN信息的项目,在项目文件上点击右键,菜单中没有Subversion的功能项,如下图: 解决办法 点击菜单:VCS -> Enabled Versio ...

  7. LeetCode 446. Arithmetic Slices II - Subsequence

    原题链接在这里:https://leetcode.com/problems/arithmetic-slices-ii-subsequence/ 题目: A sequence of numbers is ...

  8. SQL Server 中PAGELATCH_x和PAGEIOLATCH_x解析

    0.参考文献 Microsoft SQL Server企业级平台管理实践 第11章 Buffer Latch Timeout的解析 什么是PAGELATCH和PAGEIOLATCH 1.PAGELAT ...

  9. learning at command AT+CFUN

    [Purpose] Learning how to controls the functionality level. It can also be used to reset the UE (飞行模 ...

  10. learning java FileOutputStream

    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...