mirror of
https://github.com/Daichimarukana/uwuzu.git
synced 2026-06-05 03:24:41 +00:00
uwuzu v1.4.13 Funium
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
require('../db.php');
|
require('../db.php');
|
||||||
require("../function/function.php");
|
require("../function/function.php");
|
||||||
|
blockedIP($_SERVER['REMOTE_ADDR']);
|
||||||
|
|
||||||
if (safetext(isset($_POST['uniqid'])) && safetext(isset($_POST['userid'])) && safetext(isset($_POST['account_id']))) {
|
if (safetext(isset($_POST['uniqid'])) && safetext(isset($_POST['userid'])) && safetext(isset($_POST['account_id']))) {
|
||||||
$postUniqid = safetext($_POST['uniqid']);
|
$postUniqid = safetext($_POST['uniqid']);
|
||||||
|
|||||||
+16
-125
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
require('../db.php');
|
||||||
require("../function/function.php");
|
require("../function/function.php");
|
||||||
|
blockedIP($_SERVER['REMOTE_ADDR']);
|
||||||
|
|
||||||
$serversettings_file = "../server/serversettings.ini";
|
$serversettings_file = "../server/serversettings.ini";
|
||||||
$serversettings = parse_ini_file($serversettings_file, true);
|
$serversettings = parse_ini_file($serversettings_file, true);
|
||||||
|
|
||||||
require('../db.php');
|
|
||||||
|
|
||||||
// 変数の初期化
|
// 変数の初期化
|
||||||
$datetime = array();
|
$datetime = array();
|
||||||
$user_name = null;
|
$user_name = null;
|
||||||
@@ -42,130 +42,21 @@ try {
|
|||||||
$error_message[] = $e->getMessage();
|
$error_message[] = $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] == true) {
|
//ログイン認証---------------------------------------------------
|
||||||
|
blockedIP($_SERVER['REMOTE_ADDR']);
|
||||||
$passQuery = $pdo->prepare("SELECT username,userid,loginid,follow,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
|
$is_login = uwuzuUserLogin($_SESSION, $_COOKIE, $_SERVER['REMOTE_ADDR'], "user");
|
||||||
$passQuery->bindValue(':userid', safetext($_SESSION['userid']));
|
if($is_login === false){
|
||||||
$passQuery->execute();
|
header("Location: ../index.php");
|
||||||
$res = $passQuery->fetch();
|
|
||||||
if(empty($res["userid"])){
|
|
||||||
header("Location: ../login.php");
|
|
||||||
exit;
|
|
||||||
}elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] == $res["userid"]){
|
|
||||||
// セッションに値をセット
|
|
||||||
$userid = safetext($res['userid']); // セッションに格納されている値をそのままセット
|
|
||||||
$username = safetext($res['username']); // セッションに格納されている値をそのままセット
|
|
||||||
$loginid = safetext($res["loginid"]);
|
|
||||||
$role = safetext($res["role"]);
|
|
||||||
$sacinfo = safetext($res["sacinfo"]);
|
|
||||||
$myblocklist = safetext($res["blocklist"]);
|
|
||||||
$myfollowlist = safetext($res["follow"]);
|
|
||||||
$_SESSION['admin_login'] = true;
|
|
||||||
$_SESSION['userid'] = $userid;
|
|
||||||
$_SESSION['username'] = $username;
|
|
||||||
$_SESSION['loginid'] = $res["loginid"];
|
|
||||||
setcookie('userid', $userid, [
|
|
||||||
'expires' => time() + 60 * 60 * 24 * 28,
|
|
||||||
'path' => '/',
|
|
||||||
'samesite' => 'lax',
|
|
||||||
'secure' => true,
|
|
||||||
'httponly' => true,
|
|
||||||
]);
|
|
||||||
setcookie('username', $username,[
|
|
||||||
'expires' => time() + 60 * 60 * 24 * 28,
|
|
||||||
'path' => '/',
|
|
||||||
'samesite' => 'lax',
|
|
||||||
'secure' => true,
|
|
||||||
'httponly' => true,
|
|
||||||
]);
|
|
||||||
setcookie('loginid', $res["loginid"],[
|
|
||||||
'expires' => time() + 60 * 60 * 24 * 28,
|
|
||||||
'path' => '/',
|
|
||||||
'samesite' => 'lax',
|
|
||||||
'secure' => true,
|
|
||||||
'httponly' => true,
|
|
||||||
]);
|
|
||||||
setcookie('admin_login', true,[
|
|
||||||
'expires' => time() + 60 * 60 * 24 * 28,
|
|
||||||
'path' => '/',
|
|
||||||
'samesite' => 'lax',
|
|
||||||
'secure' => true,
|
|
||||||
'httponly' => true,
|
|
||||||
]);
|
|
||||||
}else{
|
|
||||||
header("Location: ../login.php");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
} elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) {
|
|
||||||
|
|
||||||
$passQuery = $pdo->prepare("SELECT username,userid,loginid,follow,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
|
|
||||||
$passQuery->bindValue(':userid', safetext($_COOKIE['userid']));
|
|
||||||
$passQuery->execute();
|
|
||||||
$res = $passQuery->fetch();
|
|
||||||
if(empty($res["userid"])){
|
|
||||||
header("Location: ../login.php");
|
|
||||||
exit;
|
|
||||||
}elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] == $res["userid"]){
|
|
||||||
// セッションに値をセット
|
|
||||||
$userid = safetext($res['userid']); // クッキーから取得した値をセット
|
|
||||||
$username = safetext($res['username']); // クッキーから取得した値をセット
|
|
||||||
$loginid = safetext($res["loginid"]);
|
|
||||||
$role = safetext($res["role"]);
|
|
||||||
$sacinfo = safetext($res["sacinfo"]);
|
|
||||||
$myblocklist = safetext($res["blocklist"]);
|
|
||||||
$myfollowlist = safetext($res["follow"]);
|
|
||||||
$_SESSION['admin_login'] = true;
|
|
||||||
$_SESSION['userid'] = $userid;
|
|
||||||
$_SESSION['username'] = $username;
|
|
||||||
$_SESSION['loginid'] = $res["loginid"];
|
|
||||||
setcookie('userid', $userid,[
|
|
||||||
'expires' => time() + 60 * 60 * 24 * 28,
|
|
||||||
'path' => '/',
|
|
||||||
'samesite' => 'lax',
|
|
||||||
'secure' => true,
|
|
||||||
'httponly' => true,
|
|
||||||
]);
|
|
||||||
setcookie('username', $username,[
|
|
||||||
'expires' => time() + 60 * 60 * 24 * 28,
|
|
||||||
'path' => '/',
|
|
||||||
'samesite' => 'lax',
|
|
||||||
'secure' => true,
|
|
||||||
'httponly' => true,
|
|
||||||
]);
|
|
||||||
setcookie('loginid', $res["loginid"],[
|
|
||||||
'expires' => time() + 60 * 60 * 24 * 28,
|
|
||||||
'path' => '/',
|
|
||||||
'samesite' => 'lax',
|
|
||||||
'secure' => true,
|
|
||||||
'httponly' => true,
|
|
||||||
]);
|
|
||||||
setcookie('admin_login', true,[
|
|
||||||
'expires' => time() + 60 * 60 * 24 * 28,
|
|
||||||
'path' => '/',
|
|
||||||
'samesite' => 'lax',
|
|
||||||
'secure' => true,
|
|
||||||
'httponly' => true,
|
|
||||||
]);
|
|
||||||
}else{
|
|
||||||
header("Location: ../login.php");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
} else {
|
|
||||||
// ログインが許可されていない場合、ログインページにリダイレクト
|
|
||||||
header("Location: ../login.php");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
if(empty($userid)){
|
|
||||||
header("Location: ../login.php");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
if(empty($username)){
|
|
||||||
header("Location: ../login.php");
|
|
||||||
exit;
|
exit;
|
||||||
|
}else{
|
||||||
|
$userid = safetext($is_login['userid']);
|
||||||
|
$username = safetext($is_login['username']);
|
||||||
|
$loginid = safetext($is_login["loginid"]);
|
||||||
|
$role = safetext($is_login["role"]);
|
||||||
|
$sacinfo = safetext($is_login["sacinfo"]);
|
||||||
|
$myblocklist = safetext($is_login["blocklist"]);
|
||||||
|
$myfollowlist = safetext($is_login["follow"]);
|
||||||
|
$is_Admin = safetext($is_login["admin"]);
|
||||||
}
|
}
|
||||||
$notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'");
|
$notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'");
|
||||||
$notiQuery->bindValue(':userid', $userid);
|
$notiQuery->bindValue(':userid', $userid);
|
||||||
|
|||||||
@@ -61,49 +61,14 @@ try {
|
|||||||
$error_message[] = $e->getMessage();
|
$error_message[] = $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true && isset($_COOKIE['loginid']) && isset($_SESSION['userid'])) {
|
//ログイン認証---------------------------------------------------
|
||||||
$options = array(
|
blockedIP($_SERVER['REMOTE_ADDR']);
|
||||||
// SQL実行失敗時に例外をスルー
|
$is_login = uwuzuUserLogin($_SESSION, $_COOKIE, $_SERVER['REMOTE_ADDR'], "user");
|
||||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
if(!($is_login === false)){
|
||||||
// デフォルトフェッチモードを連想配列形式に設定
|
header("Location: /home/");
|
||||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
exit;
|
||||||
// バッファードクエリを使う(一度に結果セットを全て取得し、サーバー負荷を軽減)
|
|
||||||
// SELECTで得た結果に対してもrowCountメソッドを使えるようにする
|
|
||||||
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
|
|
||||||
);
|
|
||||||
$dbh = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option);
|
|
||||||
$acck = $dbh->prepare("SELECT userid, loginid FROM account WHERE userid = :userid");
|
|
||||||
$acck->bindValue(':userid', $_SESSION['userid']);
|
|
||||||
$acck->execute();
|
|
||||||
$acck_data = $acck->fetch();
|
|
||||||
if(!empty($acck_data)){
|
|
||||||
if($_COOKIE['loginid'] === $acck_data["loginid"] && $_SESSION['userid'] === $acck_data["userid"] ){
|
|
||||||
header("Location: home/index.php");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true && isset($_COOKIE['loginid']) && isset($_COOKIE['userid'])) {
|
|
||||||
$options = array(
|
|
||||||
// SQL実行失敗時に例外をスルー
|
|
||||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
||||||
// デフォルトフェッチモードを連想配列形式に設定
|
|
||||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
||||||
// バッファードクエリを使う(一度に結果セットを全て取得し、サーバー負荷を軽減)
|
|
||||||
// SELECTで得た結果に対してもrowCountメソッドを使えるようにする
|
|
||||||
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
|
|
||||||
);
|
|
||||||
$dbh = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option);
|
|
||||||
$acck = $dbh->prepare("SELECT userid, loginid FROM account WHERE userid = :userid");
|
|
||||||
$acck->bindValue(':userid', $_COOKIE['userid']);
|
|
||||||
$acck->execute();
|
|
||||||
$acck_data = $acck->fetch();
|
|
||||||
if(!empty($acck_data)){
|
|
||||||
if($_COOKIE['loginid'] === $acck_data["loginid"] && $_COOKIE['userid'] === $acck_data["userid"] ){
|
|
||||||
header("Location: home/index.php");
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
//-------------------------------------------------------------
|
||||||
|
|
||||||
if( !empty($_POST['btn_submit']) ) {
|
if( !empty($_POST['btn_submit']) ) {
|
||||||
$useragent = safetext($_SERVER['HTTP_USER_AGENT']);
|
$useragent = safetext($_SERVER['HTTP_USER_AGENT']);
|
||||||
|
|||||||
+12
-14
@@ -40,22 +40,20 @@ function uwuzuUserLogin($session, $cookie, $ip_addr, $operation_permission = "us
|
|||||||
|
|
||||||
if(isset($session['loginid'])){
|
if(isset($session['loginid'])){
|
||||||
$loginid = safetext($session['loginid']);
|
$loginid = safetext($session['loginid']);
|
||||||
if(isset($session['loginkey'])) {
|
}else if(isset($cookie['loginid'])){
|
||||||
$loginkey = safetext($session['loginkey']);
|
|
||||||
} else {
|
|
||||||
$loginkey = null;
|
|
||||||
}
|
|
||||||
} elseif (isset($cookie['loginid'])){
|
|
||||||
$loginid = safetext($cookie['loginid']);
|
$loginid = safetext($cookie['loginid']);
|
||||||
if(isset($cookie['loginkey'])) {
|
|
||||||
$loginkey = safetext($cookie['loginkey']);
|
|
||||||
} else {
|
|
||||||
$loginkey = null;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isset($session['loginkey'])) {
|
||||||
|
$loginkey = safetext($session['loginkey']);
|
||||||
|
}else if(isset($cookie['loginkey'])){
|
||||||
|
$loginkey = safetext($cookie['loginkey']);
|
||||||
|
} else {
|
||||||
|
$loginkey = null;
|
||||||
|
}
|
||||||
|
|
||||||
$loginQuery = $pdo->prepare("SELECT * FROM account WHERE loginid = :loginid");
|
$loginQuery = $pdo->prepare("SELECT * FROM account WHERE loginid = :loginid");
|
||||||
$loginQuery->bindValue(':loginid', $loginid);
|
$loginQuery->bindValue(':loginid', $loginid);
|
||||||
$loginQuery->execute();
|
$loginQuery->execute();
|
||||||
@@ -95,9 +93,7 @@ function uwuzuUserLogin($session, $cookie, $ip_addr, $operation_permission = "us
|
|||||||
}else{
|
}else{
|
||||||
$is_login = false;
|
$is_login = false;
|
||||||
}
|
}
|
||||||
}
|
}else if(isset($cookie['userid']) && isset($cookie['username'])){
|
||||||
|
|
||||||
if(isset($cookie['userid']) && isset($cookie['username'])){
|
|
||||||
if($cookie['userid'] === $loginResponse["userid"] && $cookie['username'] === $loginResponse["username"]){
|
if($cookie['userid'] === $loginResponse["userid"] && $cookie['username'] === $loginResponse["username"]){
|
||||||
if($operation_permission === "admin"){
|
if($operation_permission === "admin"){
|
||||||
if($loginResponse["admin"] == "yes"){
|
if($loginResponse["admin"] == "yes"){
|
||||||
@@ -111,6 +107,8 @@ function uwuzuUserLogin($session, $cookie, $ip_addr, $operation_permission = "us
|
|||||||
}else{
|
}else{
|
||||||
$is_login = false;
|
$is_login = false;
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
$is_login = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 84 KiB |
@@ -163,10 +163,7 @@ if( !empty($_POST['btn_submit']) ) {
|
|||||||
if($row["userid"] == $userid){
|
if($row["userid"] == $userid){
|
||||||
if(uwuzu_password_verify($password,$row["password"])){
|
if(uwuzu_password_verify($password,$row["password"])){
|
||||||
if(empty($row["authcode"])){
|
if(empty($row["authcode"])){
|
||||||
$_SESSION['admin_login'] = true;
|
|
||||||
|
|
||||||
$_SESSION['userid'] = $userid;
|
$_SESSION['userid'] = $userid;
|
||||||
$_SESSION['loginid'] = $row["loginid"];
|
|
||||||
|
|
||||||
$_SESSION['form_data'] = array();//フォーム初期化
|
$_SESSION['form_data'] = array();//フォーム初期化
|
||||||
// リダイレクト先のURLへ転送する
|
// リダイレクト先のURLへ転送する
|
||||||
|
|||||||
+1
-1
@@ -27,7 +27,7 @@
|
|||||||
<a href="/rule/serverabout" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/info.svg#info"></use></svg><div>サーバー情報</div></a>
|
<a href="/rule/serverabout" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/info.svg#info"></use></svg><div>サーバー情報</div></a>
|
||||||
<a href="/notice" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/addnotice.svg#addnotice"></use></svg><div>お知らせ</div></a>
|
<a href="/notice" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/addnotice.svg#addnotice"></use></svg><div>お知らせ</div></a>
|
||||||
|
|
||||||
<?php if($res["admin"] === "yes"){?>
|
<?php if($is_Admin === "yes"){?>
|
||||||
<a href="/settings_admin/addemoji_admin" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/addemoji.svg#addemoji"></use></svg><div>絵文字登録</div></a>
|
<a href="/settings_admin/addemoji_admin" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/addemoji.svg#addemoji"></use></svg><div>絵文字登録</div></a>
|
||||||
<a href="/notice/addnotice" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/addnotice.svg#addnotice"></use></svg><div>お知らせ配信</div></a>
|
<a href="/notice/addnotice" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/addnotice.svg#addnotice"></use></svg><div>お知らせ配信</div></a>
|
||||||
<a href="/settings_admin/serveradmin" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/server.svg#server"></use></svg><div>サーバー設定</div></a>
|
<a href="/settings_admin/serveradmin" class="menubutton"><svg><use xlink:href="../img/sysimage/menuicon/server.svg#server"></use></svg><div>サーバー設定</div></a>
|
||||||
|
|||||||
+10
-8
@@ -48,13 +48,15 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="page" id="page4" style="display:none;">
|
<div class="page" id="page4" style="display:none;">
|
||||||
<h2>追記について</h2>
|
<h2>ユーズを知ってみる!</h2>
|
||||||
<p>「追記」はユーズに付け足したいことを書き加えることができる機能です!<br>
|
<p>先ほど紹介したユーズにできる機能を紹介します!</p>
|
||||||
追記を使うことで間違えてしまったことの訂正、後日談や新たな情報を書き加えることが可能です。<br>
|
|
||||||
<br>
|
|
||||||
もちろん、それ以外の用途で使用してもOKですよ!
|
|
||||||
</p>
|
|
||||||
<img src="../img/tutorial_image/image2.png">
|
<img src="../img/tutorial_image/image2.png">
|
||||||
|
<p>- いいね … ユーズに「いいね!」できます!<br>
|
||||||
|
- リユーズ … ユーズを拡散したり引用してユーズできます!<br>
|
||||||
|
- 返信 … ユーズに返信をできます!もちろん返信への返信も可能です<br>
|
||||||
|
- ブックマーク … ユーズを自分のブックマークに登録できます!<br>
|
||||||
|
- 追記 … ユーズに追記を行えます!後日談やミスの訂正にどうぞ!<br>
|
||||||
|
- その他 … シェアやユーズの削除などその他の操作を行えます!</p>
|
||||||
<div class="btm_area">
|
<div class="btm_area">
|
||||||
<div class="iro_btn backcolor" id="back">戻る</div>
|
<div class="iro_btn backcolor" id="back">戻る</div>
|
||||||
<div class="iro_btn" id="next">次へ</div>
|
<div class="iro_btn" id="next">次へ</div>
|
||||||
@@ -63,9 +65,9 @@
|
|||||||
|
|
||||||
<div class="page" id="page5" style="display:none;">
|
<div class="page" id="page5" style="display:none;">
|
||||||
<h2>タイムラインの仕組み</h2>
|
<h2>タイムラインの仕組み</h2>
|
||||||
<p>uwuzuには主に2つのタイムラインがあります!<br>
|
<p>uwuzuには主に3つのタイムラインがあります!<br>
|
||||||
uwuzuの「ホーム」を開いてデフォルトで開かれるタイムラインは「ローカル」と書かれています。<br>
|
uwuzuの「ホーム」を開いてデフォルトで開かれるタイムラインは「ローカル」と書かれています。<br>
|
||||||
そして、タイムライン上部のメニューから「フォロー」というタイムラインも見ることが可能です。<br>
|
そして、タイムライン上部のメニューから「フォロー」というタイムラインや「おすすめ」も見ることが可能です。<br>
|
||||||
それぞれの機能はこんな感じ!<br>
|
それぞれの機能はこんな感じ!<br>
|
||||||
<br>
|
<br>
|
||||||
- おすすめ … おすすめタイムラインの略称で、人気のユーズや自分が多くいいねしているユーザーのユーズなどが表示されます!<br>
|
- おすすめ … おすすめタイムラインの略称で、人気のユーズや自分が多くいいねしているユーザーのユーズなどが表示されます!<br>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
uwuzu
|
uwuzu
|
||||||
1.4.12
|
1.4.13
|
||||||
2025/01/12
|
2025/01/14
|
||||||
daichimarukana,putonfps
|
daichimarukana,putonfps
|
||||||
@@ -1,6 +1,13 @@
|
|||||||
## リリースノートだぜぇぇぇぇぇぇい!!!!!!!
|
## リリースノートだぜぇぇぇぇぇぇい!!!!!!!
|
||||||
ここにはuwuzuの更新情報を載せてくぜぇ~!(いやまてテンションおかしいだろ...)
|
ここにはuwuzuの更新情報を載せてくぜぇ~!(いやまてテンションおかしいだろ...)
|
||||||
|
|
||||||
|
## Version 1.4.13 (Funium)
|
||||||
|
2025/01/14
|
||||||
|
fix: 正しい認証情報があるのにもかかわらずログアウトされてしまう問題を修正しました。
|
||||||
|
fix: 脆弱性を修正しました。
|
||||||
|
fix: 管理者アカウントでスマホ向けメニューを開いた際にエラーが発生してしまう問題を修正しました。
|
||||||
|
chg: チュートリアルを改良しました!
|
||||||
|
|
||||||
## Version 1.4.12 (Funium)
|
## Version 1.4.12 (Funium)
|
||||||
2025/01/12
|
2025/01/12
|
||||||
chg: ログイン認証の仕組みを大幅に変更しました。
|
chg: ログイン認証の仕組みを大幅に変更しました。
|
||||||
@@ -29,6 +36,7 @@ new: IPブロック機能を実装しました!
|
|||||||
- datetime(datetime):指定なし:記録日時
|
- datetime(datetime):指定なし:記録日時
|
||||||
また、このブロック機能ではIPアドレスは暗号化されずに保存されます。
|
また、このブロック機能ではIPアドレスは暗号化されずに保存されます。
|
||||||
プライバシーデータの管理にはご注意ください。
|
プライバシーデータの管理にはご注意ください。
|
||||||
|
uwuzu_database.sqlは更新済みです。
|
||||||
|
|
||||||
## Version 1.4.11 (Funium)
|
## Version 1.4.11 (Funium)
|
||||||
2024/12/29
|
2024/12/29
|
||||||
|
|||||||
+8
-117
@@ -1,127 +1,18 @@
|
|||||||
{
|
{
|
||||||
"software": "uwuzu",
|
"software": "uwuzu",
|
||||||
"version": "1.4.12",
|
"version": "1.4.13",
|
||||||
"release_date": "2025/01/12",
|
"release_date": "2025/01/14",
|
||||||
"release_notes": "このアップデートではIPブロックをはじめとしたモデレーション機能の強化及びバグの修正が含まれます。",
|
"release_notes": "このアップデートでは管理者向けメニューのバグ修正と脆弱性の修正が含まれます。",
|
||||||
"notices": "アップデートの前にデータベース構造の更新が必要です。また、データのバックアップを行うことをおすすめします!",
|
"notices": "アップデートの前にデータのバックアップを行うことをおすすめします!",
|
||||||
"files": {
|
"files": {
|
||||||
"overwrite": [
|
"overwrite": [
|
||||||
"/.well-known/host-meta/index.php",
|
|
||||||
"/.well-known/nodeinfo/index.php",
|
|
||||||
"/.well-known/webfinger/index.php",
|
|
||||||
"/abi/addabi.php",
|
|
||||||
"/actor/index.php",
|
|
||||||
"/admin/addadmin.php",
|
|
||||||
"/admin/index.php",
|
|
||||||
"/admin/setup_db_php.php",
|
|
||||||
"/admin/setup_uwuzu_db.php",
|
|
||||||
"/admin/success.php",
|
|
||||||
"/api/favorite/change.php",
|
|
||||||
"/api/favorite/get.php",
|
|
||||||
"/api/me/index.php",
|
|
||||||
"/api/ueuse/create.php",
|
|
||||||
"/api/ueuse/delete.php",
|
|
||||||
"/api/ueuse/get.php",
|
|
||||||
"/api/ueuse/index.php",
|
|
||||||
"/api/ueuse/mentions.php",
|
|
||||||
"/api/ueuse/replies.php",
|
|
||||||
"/api/ueuse/search.php",
|
|
||||||
"/api/users/follow.php",
|
|
||||||
"/api/users/index.php",
|
|
||||||
"/api/users/unfollow.php",
|
|
||||||
"/api/v1/instance.php",
|
|
||||||
"/api/bot-api.php",
|
|
||||||
"/api/migration-api.php",
|
|
||||||
"/api/serverinfo-api.php",
|
|
||||||
"/bookmark/bookmark.php",
|
|
||||||
"/bookmark/index.php",
|
|
||||||
"/css/home.css",
|
|
||||||
"/delete/delete.php",
|
|
||||||
"/emoji/index.php",
|
|
||||||
"/errorpage/httperror.php",
|
|
||||||
"/errorpage/serverstop.php",
|
|
||||||
"/favorite/favorite.php",
|
|
||||||
"/function/function.php",
|
"/function/function.php",
|
||||||
"/function/reuse.php",
|
"/img/tutorial_image/image2.png",
|
||||||
"/home/index.php",
|
"/require/botbox.php",
|
||||||
"/js/nsfw_event.js",
|
"/require/tutorial.php",
|
||||||
"/js/unsupported.js",
|
|
||||||
"/logout/index.php",
|
|
||||||
"/migration/index.php",
|
|
||||||
"/nextpage/bookmark.php",
|
|
||||||
"/nextpage/emojiview.php",
|
|
||||||
"/nextpage/foryoupage.php",
|
|
||||||
"/nextpage/ftlpage.php",
|
|
||||||
"/nextpage/newueuse_chk.php",
|
|
||||||
"/nextpage/nextpage.php",
|
|
||||||
"/nextpage/notification.php",
|
|
||||||
"/nextpage/searchpage.php",
|
|
||||||
"/nextpage/ueusepage.php",
|
|
||||||
"/nextpage/userlikepage.php",
|
|
||||||
"/nextpage/usermediapage.php",
|
|
||||||
"/nextpage/userpage.php",
|
|
||||||
"/nodeinfo/2.1/index.php",
|
|
||||||
"/notice/addnotice.php",
|
|
||||||
"/notice/index.php",
|
|
||||||
"/notification/index.php",
|
|
||||||
"/others/account_migration.php",
|
|
||||||
"/others/account_migration_done.php",
|
|
||||||
"/others/cache_clear.php",
|
|
||||||
"/others/index.php",
|
|
||||||
"/others/token.php",
|
|
||||||
"/passrecovery/badrecovery.php",
|
|
||||||
"/passrecovery/donerecovery.php",
|
|
||||||
"/passrecovery/index.php",
|
|
||||||
"/passrecovery/startrecovery.php",
|
|
||||||
"/require/leftbox.php",
|
|
||||||
"/rule/privacypolicy.php",
|
|
||||||
"/rule/releasenotes.php",
|
|
||||||
"/rule/serverabout.php",
|
|
||||||
"/rule/terms.php",
|
|
||||||
"/rule/uwuzuabout.php",
|
|
||||||
"/search/index.php",
|
|
||||||
"/search/opensearch.php",
|
|
||||||
"/settings/addauthcode.php",
|
|
||||||
"/settings/index.php",
|
|
||||||
"/settings/success.php",
|
|
||||||
"/settings_admin/api/code_delete.php",
|
|
||||||
"/settings_admin/api/update_query.php",
|
|
||||||
"/settings_admin/actionlog_admin.php",
|
|
||||||
"/settings_admin/ad_admin.php",
|
|
||||||
"/settings_admin/addemoji_admin.php",
|
|
||||||
"/settings_admin/codeadmin.php",
|
|
||||||
"/settings_admin/customize_admin.php",
|
|
||||||
"/settings_admin/ipblock_admin.php",
|
|
||||||
"/settings_admin/maintenance_admin.php",
|
|
||||||
"/settings_admin/moderation_admin.php",
|
|
||||||
"/settings_admin/overview_admin.php",
|
|
||||||
"/settings_admin/plugin_admin.php",
|
|
||||||
"/settings_admin/role_admin.php",
|
|
||||||
"/settings_admin/serveradmin.php",
|
|
||||||
"/settings_admin/settings_left_menu.php",
|
|
||||||
"/settings_admin/update_admin.php",
|
|
||||||
"/settings_admin/useradmin.php",
|
|
||||||
"/settings_admin/userinfo.php",
|
|
||||||
"/ueuse/index.php",
|
|
||||||
"/ueuse/activity/index.php",
|
|
||||||
"/user/followers/index.php",
|
|
||||||
"/user/following/index.php",
|
|
||||||
"/user/inbox/index.php",
|
|
||||||
"/user/outbox/index.php",
|
|
||||||
"/user/index.php",
|
|
||||||
"/user/report.php",
|
|
||||||
"/user/success.php",
|
|
||||||
"/addauthcode.php",
|
|
||||||
"/authcodechk.php",
|
|
||||||
"/authlogin.php",
|
|
||||||
"/check.php",
|
"/check.php",
|
||||||
"/index.php",
|
|
||||||
"/login.php",
|
"/login.php",
|
||||||
"/new.php",
|
|
||||||
"/new_select.php",
|
|
||||||
"/success.php",
|
|
||||||
"/unsupported.php",
|
|
||||||
"/sw.js",
|
|
||||||
"/server/uwuzuabout.txt",
|
"/server/uwuzuabout.txt",
|
||||||
"/server/uwuzuinfo.txt",
|
"/server/uwuzuinfo.txt",
|
||||||
"/server/uwuzurelease.txt"
|
"/server/uwuzurelease.txt"
|
||||||
|
|||||||
Reference in New Issue
Block a user