这里的操作主要包括:

  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_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调用进行的一些修改操作的更多相关文章

  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. JMeter压测时报“内存不足”故障的9个简单解决方案

    Test failed! java.lang.OutOfMemoryError: Java heap space 测试失败了!java.lang.OutOfMemoryError:Java堆空间 在不 ...

  2. mybatis多数据库切换,(动态数据源)。

    项目中将一个库的某些标的某些数据保存到另一个库. 使用spring的aop编程动态切换数据源,代码如下,以备下次用到! 1.先将两个数据库连接,创建两个数据源,交于spring管理! <bean ...

  3. asp.net 访问局域网共享文件

    最近有个项目ASP.NET的项目,要读写一个局域网里的共享文件夹上的文件,记录如下: 1.访问共享文件 在这里我定义了一个方法,SaveFileExist(filesrc,filename),这个方法 ...

  4. 项目Alpha冲刺(10/10)

    1.项目燃尽图 2.今日进度描述 项目进展 完成测试 问题困难 测试用例的设计 心得体会 目标快要完成,队员士气较高 3.会议照片 4.各成员情况 221600106 今日进展 根据测试结果修改代码 ...

  5. nginx1.15.10配置使用非https访问返回403

    nginx版本号:nginx version: nginx/1.15.10 server { listen 443 default ssl; server_name app.test.com; if ...

  6. 小米BL不解锁刷机

    关于小米NOTE顶配近期解锁的问题中发现还有很多人不会用9008模式刷机,现出个简单教程方便米粉们救砖.硬件:小米NOTE顶配手机 win10系统的电脑 手机与电脑相连的数据线软件:老版本的mifla ...

  7. 【Java】《Java程序设计基础教程》第六章学习

    第六章 常用的工具包 6.1 java.lang包 6.1.1 Object类 Object类是一个超级类,是所有类的直接或间接父类. public boolean equals(Object obj ...

  8. L1141(bfs思想)

    一,看 1,整个方格图其实可以看做是一些不连通的图. 当然图内部必然是联通的. 2,遍历的技巧没什么. 方格图入队的技巧..额,是这样的 int gtid(int x,int y) { return ...

  9. LeetCode 875. Koko Eating Bananas

    原题链接在这里:https://leetcode.com/problems/koko-eating-bananas/ 题目: Koko loves to eat bananas.  There are ...

  10. 10.29-10.30Test

    10.29-10.30Test 查看请点个赞 转载请注明出处(~不然~) 题目 描述 做法 \(BSOJ5161\) 从小到大放入\(n\)个数,每次他可以覆盖没被覆盖且小于等于自己的数,求每个数覆盖 ...