diff --git a/.htaccess b/.htaccess index 791d5c1..20a0f69 100644 --- a/.htaccess +++ b/.htaccess @@ -9,9 +9,13 @@ RewriteRule ^(@\w+)$ /user/index.php?uwuzuid=$1 [QSA,L] RewriteRule ^!(\w+)~(\w+)$ /ueuse/index.php?ueuseid=$1&touser=$2 [QSA,L] +RewriteRule ^!(\w+)$ /ueuse/index.php?ueuseid=$1 [QSA,L] + ErrorDocument 400 /errorpage/400.php ErrorDocument 401 /errorpage/401.php ErrorDocument 403 /errorpage/403.php ErrorDocument 404 /errorpage/404.php ErrorDocument 500 /errorpage/500.php -ErrorDocument 503 /errorpage/503.php \ No newline at end of file +ErrorDocument 503 /errorpage/503.php + +Header set X-FRAME-OPTIONS “DENY” \ No newline at end of file diff --git a/README.md b/README.md index 410a929..4d3204d 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ PHP 8では事前にGDを有効化しておいてください!(QRコードの ## 簡単に構築できるようSQLの構造ファイルがリリースに添付されています!そちらをインポートしていただけますと大幅に簡単に導入できます! (userロールとofficialロールとiceロールの設定は別途必要です。お手数ですがそこの設定だけよろしくお願いいたします。) + ### account - sysid(INT)(AUTO_INCREMENT ) アカウントが追加されるとカウントされるシステム用ID - username(varchar(500)) ユーザーネーム保存用 @@ -36,6 +37,7 @@ PHP 8では事前にGDを有効化しておいてください!(QRコードの - admin(varchar(25)) 管理者アカウントなら「yes」、それ以外なら「none」と入力。 - authcode(varchar(256)) 二段階認証用キー保存用 - backupcode(varchar(256)) 二段階認証のバックアップコード保存用 +- sacinfo(varchar(256)) 特殊アカウント識別用 ### emoji - sysid(INT)(AUTO_INCREMENT) アカウントが追加されるとカウントされるシステム用ID @@ -73,6 +75,7 @@ PHP 8では事前にGDを有効化しておいてください!(QRコードの - favorite(text) いいね保存用 - abi(text) 投稿者の追記保存用 - abidate(datetime) 追記日時保存用 +- nsfw(varchar(25)) NSFW指定有無保存用 ### notification - sysid(INT)(AUTO_INCREMENT) 通知されるとカウントされるシステム用ID @@ -112,6 +115,26 @@ PHP 8では事前にGDを有効化しておいてください!(QRコードの そしたら普通にuwuzuにアクセスして自分のアカウントを登録。 ## 管理者アカウント登録機能が追加されました。【[domain]/admin/】より設定できるのでそちらをご利用ください。 なお、管理者アカウントを導入後に登録した場合サーバーを止めてuwuzu動作ディレクトリ内のserverフォルダ内のファイルを設定する必要はございません。 +管理者アカウント作成後にログインし、サーバー設定より以下の項目が簡単に設定できます。 + +- 404imagepath.txt : 404ページに表示する画像パス保存用 +- 503imagepath.txt : 503ページに表示する画像パス保存用 +- admininfo.txt : 管理者名(てすとまる/@sampledayo) +- banurldomain.txt : 投稿禁止URLドメイン +- banuserid.txt : 登録禁止ユーザーid +- admininfo.txt : 管理者名(てすとまる/@sampledayo) +- contact.txt : 管理者への連絡用メアド(sample@test.com) +- info.txt : サーバー登録時に表示されるメッセージ(好きな内容) +- privacypolicy.txt : プライバシーポリシー(サーバーのプライバシーポリシーを記載) +- servaricon.txt : サーバーアイコンのURL +- servername.txt : サーバー名(てすとさば) +- serverstop.txt : サーバー停止ページで表示するメッセージ +- terms.txt : 利用規約(サーバーの利用規約を記載) +- textsize.txt : 最大文字数 +- uwuzuabout.txt : このファイル(uwuzuを改造した場合は書き換え) +- uwuzuinfo.txt : uwuzuのバージョン等記載(uwuzuを改造した場合は書き換え) +- uwuzurelease.txt : uwuzuのバージョン等記載(uwuzuを改造した場合は書き換え) +- onlyuser.txt : 招待コード機能をオンにするかどうか、「true」でオン、「false」でオフ。招待コードはDBに直接追加。 ### これでサーバーは完成!!! 脆弱だから自己責任で楽しんでね~() diff --git a/addauthcode.php b/addauthcode.php index c1e1969..a588d6b 100644 --- a/addauthcode.php +++ b/addauthcode.php @@ -51,16 +51,49 @@ try { // 接続エラーのときエラー内容を取得する $error_message[] = $e->getMessage(); } -if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - - header("Location: home/index.php"); - exit; - -} elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - - header("Location: home/index.php"); - exit; +if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true && isset($_COOKIE['loginid']) && isset($_SESSION['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', $_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; + } + } } require_once 'authcode/GoogleAuthenticator.php'; diff --git a/authcodechk.php b/authcodechk.php index 07334fb..b393573 100644 --- a/authcodechk.php +++ b/authcodechk.php @@ -47,16 +47,49 @@ try { // 接続エラーのときエラー内容を取得する $error_message[] = $e->getMessage(); } -if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - - header("Location: home/index.php"); - exit; - -} elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - - header("Location: home/index.php"); - exit; +if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true && isset($_COOKIE['loginid']) && isset($_SESSION['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', $_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']) ) { diff --git a/authlogin.php b/authlogin.php index b49d8af..a54e610 100644 --- a/authlogin.php +++ b/authlogin.php @@ -40,16 +40,48 @@ try { $error_message[] = $e->getMessage(); } -if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - - header("Location: home/index.php"); - exit; - -} elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - - header("Location: home/index.php"); - exit; - +if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true && isset($_COOKIE['loginid']) && isset($_SESSION['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', $_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']) ) { diff --git a/check.php b/check.php index fcaabaf..086d0d8 100644 --- a/check.php +++ b/check.php @@ -92,6 +92,49 @@ try { $error_message[] = $e->getMessage(); } +if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true && isset($_COOKIE['loginid']) && isset($_SESSION['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', $_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']) ) { diff --git a/css/color.css b/css/color.css index 555c30a..edfa731 100644 --- a/css/color.css +++ b/css/color.css @@ -12,4 +12,5 @@ --dark-sub-color: #181616; --dark-background-color: #0c0c0c; --dark-subtext-color: #CCC; + --dark-text-color: #FFF; } \ No newline at end of file diff --git a/css/home.css b/css/home.css index b795379..8a2de73 100644 --- a/css/home.css +++ b/css/home.css @@ -9,6 +9,10 @@ margin-right: 10px; border-radius: 25px; } +::selection { + color: var(--background-color); + background: var(--main-color); +} body{ width: 70%; display: flex; @@ -926,6 +930,7 @@ main h1{ background-color: var(--ueuse-color); border: 1px solid var(--border-color); width: auto; + overflow: hidden; } @keyframes slideInY { 0% { @@ -988,6 +993,20 @@ main h1{ font-family: 'BIZ UDPGothic', sans-serif; } +.ueuse .flebox .bot{ + margin-top: auto; + margin-bottom: auto; + padding: 6px 8px; + margin-left: 6px; + border-radius: 10px; + background-color: var(--sub-color); + border: 1px solid var(--border-color); + font-family: 'BIZ UDGothic', sans-serif; + font-weight: bold; + text-align: center; + font-size: 12px; + color:var(--main-color); +} .ueuse p{ line-height:20px; overflow-wrap: break-word; @@ -1196,7 +1215,7 @@ main h1{ padding-right: 12px; padding-top: 16px; padding-bottom: 16px; - background-color: var(--background-color)FFF; + background-color: var(--tl-color); border: 1px solid var(--border-color); width: auto; } @@ -1547,7 +1566,38 @@ main h1{ font-family: 'BIZ UDGothic', sans-serif; font-weight: normal; } - +.ueuse .nsfw{ + display: flex; + overflow: hidden; + margin-top: 12px; + margin-bottom: 12px; + border: 1px solid var(--border-color); + background-color: var(--background-color); + padding: 12px; + border-radius: 8px; +} +.ueuse .nsfw .btnzone{ + display: block; + margin-left: auto; + margin-top: auto; + margin-right: 0px; + margin-bottom: -6px; +} +.ueuse .nsfw p{ + margin-left: 0px; +} +.ueuse .nsfw_main{ + border: 1px solid var(--border-color); + overflow: hidden; + border-radius: 10px; +} +.ueuse .nsfw_main .block{ + filter: brightness(70%) blur(32px) saturate(70%); + pointer-events: none; +} +.ueuse .nsfw_main .clear{ + filter: brightness(100%) blur(0px) saturate(100%); +} .tokonone p{ text-align: center; @@ -1625,6 +1675,7 @@ main h1{ border: none; display: block; width:6%; + height: 24px; padding: 8px auto; margin-left: 6px; margin-right: 6px; @@ -1656,9 +1707,12 @@ main h1{ box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05); width:5%; } -.sendbox label img{ - vertical-align:bottom; +.sendbox label svg{ + margin: auto; + fill: currentColor; + vertical-align:top; width: 24px; + height: 24px; } .sendbox .fxbox p{ line-height:20px; @@ -1672,6 +1726,49 @@ main h1{ font-weight: bold; } +.sendbox .fxbox .nsfw_input { + position: absolute; + + width: auto; + height: auto; + z-index: 5; + opacity: 0; + cursor: pointer; + transition: all 250ms ease-out; +} +.sendbox .fxbox .nsfw_label { + + cursor: pointer; + border: none; + display: block; + width:6%; + height: 24px; + padding: 6px 6px; + + + background-color: var(--main-color); + width: auto; + height: auto; + color: var(--background-color); + position: relative; + border-radius: 50px; + transition: all 250ms ease-out; +} +.sendbox .fxbox .nsfw_input:checked + .nsfw_label { + background-color: #FF4848; +} +.sendbox .fxbox .nsfw_button { + position: relative; + width: auto; + height: auto; +} +.sendbox .fxbox .nsfw_label svg{ + margin: auto; + fill: currentColor; + vertical-align:top; + width: 24px; + height: 24px; +} .ueusebtn{ @@ -3597,6 +3694,53 @@ summary { font-weight: 900; } +.overview{ + display: flex; + width: 100%; + margin-top: 12px; + margin-bottom: 12px; +} +.overview_cnt_l{ + margin-left: 0px; + margin-right: 6px; + width: 50%; + background-color: var(--background-color); + padding: 12px; + border-radius: 8px; + border: 1px solid var(--border-color); +} +.overview_cnt_r{ + margin-left: 6px; + margin-right: 0px; + width: 50%; + background-color: var(--background-color); + padding: 12px; + border-radius: 8px; + border: 1px solid var(--border-color); +} +.overview p{ + color: var(--text-color); + font-size: 32px; + font-family: 'BIZ UDGothic', sans-serif; + font-weight: bold; +} +.overview .p2{ + color: var(--subtext-color); + font-size: 12px; + font-family: 'BIZ UDGothic', sans-serif; + font-weight: normal; +} +.servericon{ + text-align: center; +} +.servericon img{ + object-fit: cover; + width: 100px; + height: 100px; + border-radius: 15px; + box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05); +} + /*------------------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------スマホ向け--------------------------------------------------*/ /*--------------------------------------------------ここから--------------------------------------------------*/ @@ -3718,7 +3862,7 @@ summary { flex-shrink: 0; text-align: center; width:10%; - padding: 8px auto; + padding: 6px 2.6px; margin-left: 6px; margin-right: 6px; padding-top: 6px; @@ -3806,7 +3950,7 @@ summary { border: none; } .btmbutton:hover{ - background-color: var(--background-color)FFF; + background-color: var(--background-color); color: var(--main-color); box-shadow:none; } @@ -4328,6 +4472,17 @@ summary { color: var(--text-color); } + .ueuse .flebox .bot{ + margin-top: auto; + margin-bottom: auto; + padding: 3px 8px; + margin-left: 6px; + border-radius: 10px; + font-family: 'BIZ UDGothic', sans-serif; + font-weight: bold; + text-align: center; + font-size: 12px; + } .ueuse .photo1 img{ object-fit: cover; @@ -4913,6 +5068,12 @@ summary { .ueuse .flebox .idbox a{ color:var(--dark-subtext-color); } + + .ueuse .flebox .bot{ + background-color: #302c2c; + border: none; + color:var(--main-color); + } .ueuse p{ color:var(--background-color); @@ -5014,6 +5175,13 @@ summary { .ueuse hr{ border-top: 1px solid var(--dark-subtext-color); } + .ueuse .nsfw{ + border: none; + background-color: var(--dark-background-color); + } + .ueuse .nsfw_main{ + border: none; + } .userheader h2{ color:var(--sub-color); @@ -5465,4 +5633,35 @@ summary { background-color: var(--dark-background-color); color: var(--main-color); } + .mini_irobtn{ + background-color: var(--dark-background-color); + color: var(--main-color); + } + .mini_irobtn:hover{ + background-color: var(--main-color); + color: var(--dark-background-color);; + } + .overview_cnt_l{ + background-color: var(--dark-background-color); + border: none; + } + .overview_cnt_r{ + background-color: var(--dark-background-color); + border: none; + } + .overview p{ + color: var(--dark-text-color); + font-size: 32px; + font-family: 'BIZ UDGothic', sans-serif; + font-weight: bold; + } + .overview .p2{ + color: var(--dark-subtext-color); + font-size: 12px; + font-family: 'BIZ UDGothic', sans-serif; + font-weight: normal; + } + .servericon img{ + box-shadow:none; + } } \ No newline at end of file diff --git a/css/style.css b/css/style.css index 185f6c5..a608c3d 100644 --- a/css/style.css +++ b/css/style.css @@ -26,7 +26,7 @@ body{ margin-top: 0px; margin-bottom: 0px; background-color: var(--main-color); - width: 35%; + width: 600px; height: 100%; margin-left: 0px; padding: 32px; @@ -62,7 +62,7 @@ body{ margin-top: 0px; margin-bottom: 0px; background-color: var(--main-color); - width: 35%; + width: 600px; height: 100vh; margin-left: 0px; padding: 32px; @@ -112,12 +112,13 @@ body{ color: var(--main-color); font-size: 32px; font-family: 'Zen Maru Gothic', sans-serif; + margin-bottom: 12px; } .textbox h2{ word-wrap: break-word; margin: 0px; - color: #252525; + color: var(--text-color); text-align: center; font-size: 32px; font-family: 'Zen Maru Gothic', sans-serif; @@ -126,7 +127,7 @@ body{ .textbox h3{ word-wrap: break-word; margin: 0px; - color: #252525; + color: var(--text-color); text-align: center; font-size: 18px; font-family: 'Zen Maru Gothic', sans-serif; @@ -136,7 +137,7 @@ body{ .textbox p{ word-wrap: break-word; line-height: 20px; - color: #252525; + color: var(--text-color); font-size: 16px; font-family: 'BIZ UDPGothic', sans-serif; font-weight: normal; @@ -147,7 +148,7 @@ body{ margin-bottom: 10px; word-wrap: break-word; line-height: 20px; - color: #868686; + color: var(--subtext-color); font-size: 12px; font-family: 'BIZ UDPGothic', sans-serif; font-weight: normal; @@ -159,18 +160,18 @@ body{ text-align: center; word-wrap: break-word; line-height: 20px; - color: #868686; + color: var(--subtext-color); font-size: 12px; font-family: 'BIZ UDPGothic', sans-serif; font-weight: normal; } .textbox .p3{ - margin-top: 24px; + margin-top: 12px; text-align: center; word-wrap: break-word; line-height: 24px; - color: #252525; + color: var(--text-color); font-size: 22px; font-family: 'BIZ UDPGothic', sans-serif; font-weight: bold; @@ -179,7 +180,7 @@ body{ .textbox .maillink{ word-wrap: break-word; line-height: 20px; - color: #4e4428; + color: var(--link-color); text-decoration: none; font-size: 16px; font-family: 'BIZ UDPGothic', sans-serif; @@ -210,7 +211,7 @@ body{ margin-bottom: 6px; text-align: left; word-wrap: break-word; - color: #868686; + color: var(--subtext-color); font-size: 12px; font-family: 'BIZ UDPGothic', sans-serif; font-weight: normal; @@ -222,12 +223,54 @@ body{ text-align: left; word-wrap: break-word; line-height: 24px; - color: #252525; + color: var(--text-color); font-size: 20px; font-family: 'BIZ UDPGothic', sans-serif; font-weight: bold; } +.servericon{ + width: fit-content; + margin-left: auto; + margin-right: auto; + display: flex; + text-align: center; +} +.servericon img{ + object-fit: cover; + width: 100px; + height: 100px; + border-radius: 15px; + box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05); +} +.servericon .textzone{ + margin-top: auto; + margin-bottom: auto; + display: block; +} +.servericon .textzone .p3{ + margin-left: 24px; + margin-bottom: 6px; + text-align: left; + word-wrap: break-word; + line-height: 24px; + color: var(--text-color); + font-size: 24px; + font-family: 'BIZ UDPGothic', sans-serif; + font-weight: bold; +} +.servericon .textzone .p2c{ + margin-left: 24px; + margin-top: 6px; + text-align: left; + word-wrap: break-word; + line-height: 20px; + color: var(--subtext-color); + font-size: 14px; + font-family: 'BIZ UDPGothic', sans-serif; + font-weight: normal; +} + .btnbox{ padding-top: 16px; padding-bottom: 16px; @@ -354,7 +397,7 @@ label > input { margin-top: 24px; margin-bottom: 24px; font-size: 16px; - color:#252525; + color:var(--text-color); text-decoration: none; font-family: 'BIZ UDPGothic', sans-serif; font-weight: normal; @@ -389,7 +432,7 @@ label > input { margin-bottom: 10px; word-wrap: break-word; line-height: 20px; - color: #868686; + color: var(--subtext-color); font-size: 12px; font-family: 'BIZ UDPGothic', sans-serif; font-weight: normal; @@ -399,7 +442,7 @@ label > input { margin-bottom: auto; margin-left: 6px; font-size: 16px; - color:#4e4428; + color:var(--link-color); text-decoration: none; font-family: 'BIZ UDPGothic', sans-serif; font-weight: bold; @@ -412,7 +455,7 @@ label > input { border-radius: 10px; background: var(--background-color); font-family: 'Zen Maru Gothic', sans-serif; - color: rgb(32,32,32); + color: var(--text-color); font-size: 1em; line-height: 1.5; white-space: nowrap; @@ -652,7 +695,7 @@ main{ } main h1{ - color:#252525; + color:var(--text-color); font-size: 32px; font-family: 'Zen Maru Gothic', sans-serif; } @@ -889,4 +932,152 @@ main h1{ .textbox .authzone img{ width: 80%; } +} + +/*------------------------------------------------------------------------------------------------------------*/ +/*--------------------------------------------------ダークモード--------------------------------------------------*/ +/*--------------------------------------------------ここから--------------------------------------------------*/ +/*------------------------------------------------------------------------------------------------------------*/ + +@media (prefers-color-scheme: dark) { + + body{ + background-color: var(--dark-background-color); + } + + .leftbox{ + background-color: var(--main-color); + } + + .leftbox h1{ + color:var(--background-color); + } + .leftbox .logo p{ + color:var(--background-color); + } + .leftbox2{ + background-color: var(--main-color); + } + .leftbox2 h1{ + color:var(--background-color); + } + .leftbox2 .logo p{ + color:var(--background-color); + } + + .textbox{ + background-color: var(--dark-background-color); + } + + .textbox h1{ + color: var(--dark-text-color); + } + + .textbox h2{ + color: var(--dark-text-color); + } + + .textbox h3{ + color: var(--dark-text-color); + } + + .textbox p{ + color: var(--dark-text-color); + } + + .textbox .p2{ + color: var(--subtext-color); + } + + .textbox .p2c{ + color: var(--dark-subtext-color); + } + + .textbox .p3{ + color: var(--dark-text-color); + } + + .servericon .textzone .p3{ + color: var(--dark-text-color); + } + .servericon .textzone .p2c{ + color: var(--dark-subtext-color); + } + + .textbox .maillink{ + color: var(--main-color); + } + .textbox .cntzone .usercnt{ + background-color: var(--dark-sub-color); + } + + .textbox .cntzone .usercnt .p1{ + color: var(--dark-subtext-color); + } + + .textbox .cntzone .usercnt p{ + color: var(--dark-text-color); + } + + .btnbox{ + background-color: var(--dark-sub-color); + } + .irobutton{ + background-color: var(--main-color); + color:var(--dark-background-color); + } + .sirobutton{ + background-color: var(--dark-background-color); + color:var(--main-color); + } + + .formarea{ + background-color: var(--dark-sub-color); + } + .formarea label{ + color:var(--dark-text-color); + } + + .myarea{ + background-color: var(--dark-background-color); + } + + .myarea p{ + color: var(--dark-subtext-color); + } + .ueuse2 a{ + color:var(--main-color); + } + + .inbox { + background: var(--dark-background-color); + color: var(--dark-text-color); + border: none; + } + + .flexbtn .irobutton{ + background-color: var(--main-color); + color:var(--dark-background-color); + } + + .flexbtn.sirobutton{ + background-color: var(--dark-sub-color); + color:var(--main-color); + } + .rolebox{ + background-color: var(--dark-background-color); + border: 1px solid var(--main-color); + } + + .rolebox p{ + color:var(--main-color); + } + .fbtn{ + background-color: var(--main-color); + color:var(--dark-sub-color); + } + .fbtn:hover{ + background-color: var(--main-color); + color: var(--dark-sub-color); + } } \ No newline at end of file diff --git a/emoji/addemoji.php b/emoji/addemoji.php index 25909df..cf2b530 100644 --- a/emoji/addemoji.php +++ b/emoji/addemoji.php @@ -46,8 +46,8 @@ try { if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -55,9 +55,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -90,8 +92,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -99,9 +101,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/emoji/index.php b/emoji/index.php index adfd6f1..22841bf 100644 --- a/emoji/index.php +++ b/emoji/index.php @@ -42,10 +42,11 @@ try { $error_message[] = $e->getMessage(); } + if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -53,9 +54,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -88,8 +91,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -97,9 +100,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/home/ftl.php b/home/ftl.php index e7227b0..bb78df9 100644 --- a/home/ftl.php +++ b/home/ftl.php @@ -51,8 +51,8 @@ try { if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -60,10 +60,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; - $role = $res["role"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -96,8 +97,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -105,10 +106,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; - $role = $res["role"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -152,7 +154,6 @@ if(empty($username)){ header("Location: ../login.php"); exit; } - $notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'"); $notiQuery->bindValue(':userid', $userid); $notiQuery->execute(); @@ -192,6 +193,18 @@ if( !empty($_POST['btn_submit']) ) { $ueuse = htmlentities($_POST['ueuse']); + if(isset($_POST['nsfw_chk'])){ + $nsfw_chk = htmlentities($_POST['nsfw_chk']); + }else{ + $nsfw_chk = "false"; + } + + if($nsfw_chk === "true"){ + $save_nsfw = "true"; + }else{ + $save_nsfw = "false"; + } + // メッセージの入力チェック if( empty($ueuse) ) { $error_message[] = '内容を入力してください。'; @@ -337,7 +350,7 @@ if( !empty($_POST['btn_submit']) ) { try { // SQL作成 - $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, ueuse, photo1, photo2, video1, datetime, abi) VALUES (:username, :account, :uniqid, :ueuse, :photo1, :photo2, :video1, :datetime, :abi)"); + $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, ueuse, photo1, photo2, video1, datetime, abi, nsfw) VALUES (:username, :account, :uniqid, :ueuse, :photo1, :photo2, :video1, :datetime, :abi, :nsfw)"); $stmt->bindParam(':username', $username, PDO::PARAM_STR); $stmt->bindParam(':account', $userid, PDO::PARAM_STR); @@ -349,8 +362,9 @@ if( !empty($_POST['btn_submit']) ) { $stmt->bindParam(':video1', $video1, PDO::PARAM_STR); $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR); - $stmt->bindParam(':abi', $abi, PDO::PARAM_STR); + $stmt->bindParam(':nsfw', $save_nsfw, PDO::PARAM_STR); + $stmt->bindParam(':abi', $abi, PDO::PARAM_STR); // SQLクエリの実行 $res = $stmt->execute(); @@ -432,6 +446,7 @@ $pdo = null; + + + diff --git a/server/servericon.txt b/server/servericon.txt new file mode 100644 index 0000000..e69de29 diff --git a/server/uwuzuabout.txt b/server/uwuzuabout.txt index c7c96b1..ea94ba9 100644 --- a/server/uwuzuabout.txt +++ b/server/uwuzuabout.txt @@ -26,6 +26,7 @@ daichimarukana < 「うぃずゆー(With you)」「うぃじゅー(witzou)」「 ## 4. 開発言語は? uwuzuはPHPとJS、HTML(プログラミング言語じゃないか)、CSSで作られています! ライブラリはjQueryを導入しています! +使用している画像は友人またはGoogle Icons様より使わせて頂いております! ## 5. サーバーの建て方 まず、Apache2とPHP 8とmysql Ver 15が導入されているサーバーを準備します! @@ -55,6 +56,7 @@ PHP 8では事前にGDを有効化しておいてください!(QRコードの - admin(varchar(25)) 管理者アカウントなら「yes」、それ以外なら「none」と入力。 - authcode(varchar(256)) 二段階認証用キー保存用 - backupcode(varchar(256)) 二段階認証のバックアップコード保存用 +- sacinfo(varchar(256)) 特殊アカウント識別用 ### emoji - sysid(INT)(AUTO_INCREMENT) アカウントが追加されるとカウントされるシステム用ID @@ -92,6 +94,7 @@ PHP 8では事前にGDを有効化しておいてください!(QRコードの - favorite(text) いいね保存用 - abi(text) 投稿者の追記保存用 - abidate(datetime) 追記日時保存用 +- nsfw(varchar(25)) NSFW指定有無保存用 ### notification - sysid(INT)(AUTO_INCREMENT) 通知されるとカウントされるシステム用ID @@ -140,11 +143,17 @@ PHP 8では事前にGDを有効化しておいてください!(QRコードの - 404imagepath.txt : 404ページに表示する画像パス保存用 - 503imagepath.txt : 503ページに表示する画像パス保存用 - admininfo.txt : 管理者名(てすとまる/@sampledayo) +- banurldomain.txt : 投稿禁止URLドメイン +- banuserid.txt : 登録禁止ユーザーid +- admininfo.txt : 管理者名(てすとまる/@sampledayo) - contact.txt : 管理者への連絡用メアド(sample@test.com) - info.txt : サーバー登録時に表示されるメッセージ(好きな内容) - privacypolicy.txt : プライバシーポリシー(サーバーのプライバシーポリシーを記載) +- servaricon.txt : サーバーアイコンのURL - servername.txt : サーバー名(てすとさば) +- serverstop.txt : サーバー停止ページで表示するメッセージ - terms.txt : 利用規約(サーバーの利用規約を記載) +- textsize.txt : 最大文字数 - uwuzuabout.txt : このファイル(uwuzuを改造した場合は書き換え) - uwuzuinfo.txt : uwuzuのバージョン等記載(uwuzuを改造した場合は書き換え) - uwuzurelease.txt : uwuzuのバージョン等記載(uwuzuを改造した場合は書き換え) diff --git a/server/uwuzuinfo.txt b/server/uwuzuinfo.txt index 5fe0d72..75943de 100644 --- a/server/uwuzuinfo.txt +++ b/server/uwuzuinfo.txt @@ -1,4 +1,4 @@ uwuzu -1.2.22 -2023/09/12 +1.2.23 +2023/09/16 daichimarukana,putonfps \ No newline at end of file diff --git a/server/uwuzurelease.txt b/server/uwuzurelease.txt index a8c5ad4..96f69be 100644 --- a/server/uwuzurelease.txt +++ b/server/uwuzurelease.txt @@ -1,6 +1,26 @@ ## リリースノートだぜぇぇぇぇぇぇい!!!!!!! ここにはuwuzuの更新情報を載せてくぜぇ~!(いやまてテンションおかしいだろ...) +## Version 1.2.23 +リリース日:2023/09/16 +アカウント登録ができない問題を修正しました。 +Botアカウントであることをわかりやすくする機能を実装しました。 +画像の2つめの添付ボタンを1つ目を押してから表示するようにしました。 +ログインループ問題を修正しました。 +投稿内URLのバグを修正しました。 +投稿にNSFW指定をすることができるようにする機能を実装しました! +NSFW指定をすると意図しない投稿の表示を防ぐことが出来ます! +※APIには適用されません。 +誤字を修正しました。 +UIを一部変更しました。 +脆弱性を修正しました。 +サーバー設定画面にサーバーの概要表示を追加しました。 +カスタマイズ機能を微調整しました。 +サーバーアイコン機能を実装しました! +アカウント登録画面をダークモード対応にしました! +DBに変更があるためaccountにsacinfo[varchar(256)]を、ueuseにnsfw[varchar(25)]を追加してください。 +uwuzu-database.sqlも更新済みです。 + ## Version 1.2.22 リリース日:2023/09/12 カスタマイズ機能を微調整しました。 diff --git a/settings/addauthcode.php b/settings/addauthcode.php index 14e58b5..0aceaf9 100644 --- a/settings/addauthcode.php +++ b/settings/addauthcode.php @@ -56,8 +56,8 @@ try { if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -65,9 +65,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -100,8 +102,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -109,9 +111,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/settings/index.php b/settings/index.php index 27f6b03..5d18f05 100644 --- a/settings/index.php +++ b/settings/index.php @@ -46,8 +46,8 @@ try { if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -55,8 +55,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -89,8 +92,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -98,8 +101,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -159,7 +165,7 @@ if( !empty($pdo) ) { PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, )); - $userQuery = $dbh->prepare("SELECT username, userid, profile, role FROM account WHERE userid = :userid"); + $userQuery = $dbh->prepare("SELECT username, userid, profile, role, token FROM account WHERE userid = :userid"); $userQuery->bindValue(':userid', $userid); $userQuery->execute(); $userData = $userQuery->fetch(); @@ -183,6 +189,14 @@ if( !empty($pdo) ) { if( !empty($_POST['btn_submit']) ) { + $im_bot = $_POST['im_bot']; + + if($im_bot === "true"){ + $saveim_bot = "bot"; + }else{ + $saveim_bot = "none"; + } + // 空白除去 $username = $_POST['username']; @@ -227,12 +241,13 @@ if( !empty($_POST['btn_submit']) ) { try { // SQL作成 - $stmt = $pdo->prepare("UPDATE account SET username = :username, mailadds = :mailadds, profile = :profile WHERE userid = :userid;"); + $stmt = $pdo->prepare("UPDATE account SET username = :username, mailadds = :mailadds, profile = :profile, sacinfo = :saveimbot WHERE userid = :userid;"); // 他の値をセット $stmt->bindParam(':username', $username, PDO::PARAM_STR); $stmt->bindParam(':mailadds', $mailadds, PDO::PARAM_STR); $stmt->bindParam(':profile', $profile, PDO::PARAM_STR); + $stmt->bindParam(':saveimbot', $saveim_bot, PDO::PARAM_STR); // 条件を指定 // 以下の部分を適切な条件に置き換えてください @@ -760,6 +775,23 @@ $pdo = null;

プロフィール

+ + + +

このアカウントがBotであることを公開する

+
+ + + + + + + +
+ + +

アカウントが凍結されているためBotであることの設定変更はできません。

+ diff --git a/settings/success.php b/settings/success.php index b6e25a3..fe42a11 100644 --- a/settings/success.php +++ b/settings/success.php @@ -43,8 +43,8 @@ try { if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -52,9 +52,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -87,8 +89,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -96,9 +98,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/settings_admin/ad_admin.php b/settings_admin/ad_admin.php index 1769065..5c6f0a9 100644 --- a/settings_admin/ad_admin.php +++ b/settings_admin/ad_admin.php @@ -67,8 +67,8 @@ try { } if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -76,9 +76,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -111,8 +113,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -120,9 +122,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/settings_admin/codeadmin.php b/settings_admin/codeadmin.php index 92a3080..fa8838c 100644 --- a/settings_admin/codeadmin.php +++ b/settings_admin/codeadmin.php @@ -67,8 +67,8 @@ try { } if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -76,9 +76,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -111,8 +113,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -120,9 +122,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/settings_admin/customize_admin.php b/settings_admin/customize_admin.php index e8cba9e..b344bd6 100644 --- a/settings_admin/customize_admin.php +++ b/settings_admin/customize_admin.php @@ -61,8 +61,8 @@ try { } if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -70,9 +70,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -105,8 +107,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -114,9 +116,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/settings_admin/moderation_admin.php b/settings_admin/moderation_admin.php index 03f97af..6e8c065 100644 --- a/settings_admin/moderation_admin.php +++ b/settings_admin/moderation_admin.php @@ -64,8 +64,8 @@ try { } if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -73,9 +73,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -108,8 +110,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -117,9 +119,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/settings_admin/overview_admin.php b/settings_admin/overview_admin.php new file mode 100644 index 0000000..fe27a4d --- /dev/null +++ b/settings_admin/overview_admin.php @@ -0,0 +1,284 @@ + PDO::ERRMODE_EXCEPTION, + PDO::MYSQL_ATTR_MULTI_STATEMENTS => false + ); + $pdo = new PDO('mysql:charset=UTF8;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option); + +} catch(PDOException $e) { + + // 接続エラーのときエラー内容を取得する + $error_message[] = $e->getMessage(); +} +if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { + + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); + $passQuery->execute(); + $res = $passQuery->fetch(); + if(empty($res["userid"])){ + header("Location: ../login.php"); + exit; + }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ + // セッションに値をセット + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); + $_SESSION['admin_login'] = true; + $_SESSION['userid'] = $userid; + $_SESSION['username'] = $username; + $_SESSION['loginid'] = $res["loginid"]; + setcookie('userid', $userid, [ + 'expires' => time() + 60 * 60 * 24 * 14, + 'path' => '/', + 'samesite' => 'lax', + ]); + setcookie('username', $username,[ + 'expires' => time() + 60 * 60 * 24 * 14, + 'path' => '/', + 'samesite' => 'lax', + ]); + setcookie('loginid', $res["loginid"],[ + 'expires' => time() + 60 * 60 * 24 * 14, + 'path' => '/', + 'samesite' => 'lax', + ]); + setcookie('admin_login', true,[ + 'expires' => time() + 60 * 60 * 24 * 14, + 'path' => '/', + 'samesite' => 'lax', + ]); + }else{ + header("Location: ../login.php"); + exit; + } + + +} elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { + + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_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 = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); + $_SESSION['admin_login'] = true; + $_SESSION['userid'] = $userid; + $_SESSION['username'] = $username; + $_SESSION['loginid'] = $res["loginid"]; + setcookie('userid', $userid,[ + 'expires' => time() + 60 * 60 * 24 * 14, + 'path' => '/', + 'samesite' => 'lax', + ]); + setcookie('username', $username,[ + 'expires' => time() + 60 * 60 * 24 * 14, + 'path' => '/', + 'samesite' => 'lax', + ]); + setcookie('loginid', $res["loginid"],[ + 'expires' => time() + 60 * 60 * 24 * 14, + 'path' => '/', + 'samesite' => 'lax', + ]); + setcookie('admin_login', true,[ + 'expires' => time() + 60 * 60 * 24 * 14, + 'path' => '/', + 'samesite' => 'lax', + ]); + }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; +} + +if(!($res["admin"] === "yes")){ + header("Location: ../login.php"); + exit; +} +$notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'"); +$notiQuery->bindValue(':userid', $userid); +$notiQuery->execute(); +$notiData = $notiQuery->fetch(PDO::FETCH_ASSOC); + +$notificationcount = $notiData['notification_count']; + + +mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); +$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); + +//User +$result = $mysqli->query("SELECT userid FROM account"); +$count1 = $result->num_rows; +//ueuse +$result2 = $mysqli->query("SELECT uniqid FROM ueuse"); +$count2 = $result2->num_rows; +//emoji +$result3 = $mysqli->query("SELECT sysid FROM emoji"); +$count3 = $result3->num_rows; +//bot +$result4 = $mysqli->query("SELECT userid FROM account WHERE sacinfo = 'bot'"); +$count4 = $result4->num_rows; + +require('../logout/logout.php'); +?> + + + + + + + + + + +サーバー概要 - <?php echo file_get_contents($servernamefile);?> + + + + + +
+ + + + +
+ + +
+
+

サーバー概要

+ +
+ +
+ +

サーバー名

+

+
+

サーバー紹介メッセージ

+

+
+

サーバー管理者の名前

+

+
+

サーバーへのお問い合わせ用メールアドレス

+

+
+

統計情報

+
+
+
ユーザー数
+

+
+
+
投稿数
+

+
+
+
+
+
カスタム絵文字数
+

+
+
+
Botアカウント数
+

+
+
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/settings_admin/role_admin.php b/settings_admin/role_admin.php index 0e3a3e3..30bd018 100644 --- a/settings_admin/role_admin.php +++ b/settings_admin/role_admin.php @@ -67,8 +67,8 @@ try { } if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -76,9 +76,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -111,8 +113,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -120,9 +122,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/settings_admin/serveradmin.php b/settings_admin/serveradmin.php index f8d8890..b08490a 100644 --- a/settings_admin/serveradmin.php +++ b/settings_admin/serveradmin.php @@ -1,4 +1,5 @@ prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -76,9 +77,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -111,8 +114,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -120,9 +123,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -221,6 +226,9 @@ if (!empty($pdo)) { if( !empty($_POST['btn_submit']) ) { // 空白除去 + + $servericon = $_POST['servericon']; + $servername = $_POST['servername']; $serverinfo = $_POST['serverinfo']; @@ -260,6 +268,12 @@ if( !empty($_POST['btn_submit']) ) { $serverstop = $_POST['serverstop']; + //鯖icon + $file = fopen($servericonfile, 'w'); + $data = $servericon; + fputs($file, $data); + fclose($file); + //鯖名 $file = fopen($servernamefile, 'w'); $data = $servername; @@ -345,23 +359,37 @@ require('../logout/logout.php');

サーバー設定

+ +
+ +
+ +
+

サーバーアイコン

+
サーバー登録画面などに表示されます。
自動的に角が丸くなります。
URLより設定してください。
+ +

サーバー名

+
サーバー名です。

サーバー紹介メッセージ

+
サーバーの紹介メッセージです。

サーバー管理者の名前

+
サーバー管理者名です。

サーバーへのお問い合わせ用メールアドレス

+
ユーザーからのお問い合わせメアドです。
diff --git a/settings_admin/settings_left_menu.php b/settings_admin/settings_left_menu.php index f65b9dd..1318731 100644 --- a/settings_admin/settings_left_menu.php +++ b/settings_admin/settings_left_menu.php @@ -1,5 +1,6 @@
+ 概要 サーバー設定 ユーザー管理 招待コード発行所 diff --git a/settings_admin/useradmin.php b/settings_admin/useradmin.php index 00e78a5..a0cc4ea 100644 --- a/settings_admin/useradmin.php +++ b/settings_admin/useradmin.php @@ -67,8 +67,8 @@ try { } if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -76,9 +76,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -111,8 +113,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -120,9 +122,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/settings_admin/userinfo.php b/settings_admin/userinfo.php index 96b162c..71fd047 100644 --- a/settings_admin/userinfo.php +++ b/settings_admin/userinfo.php @@ -69,8 +69,8 @@ try { } if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -78,9 +78,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -113,8 +115,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -122,9 +124,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/ueuse/index.php b/ueuse/index.php index b360484..e937591 100644 --- a/ueuse/index.php +++ b/ueuse/index.php @@ -53,8 +53,8 @@ try { if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -62,10 +62,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; - $role = $res["role"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -98,8 +99,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -107,10 +108,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; - $role = $res["role"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -204,6 +206,18 @@ if( !empty($_POST['btn_submit']) ) { $ueuse = htmlentities($_POST['ueuse']); + if(isset($_POST['nsfw_chk'])){ + $nsfw_chk = htmlentities($_POST['nsfw_chk']); + }else{ + $nsfw_chk = "false"; + } + + if($nsfw_chk === "true"){ + $save_nsfw = "true"; + }else{ + $save_nsfw = "false"; + } + // メッセージの入力チェック if( empty($ueuse) ) { $error_message[] = '内容を入力してください。'; @@ -350,7 +364,7 @@ if( !empty($_POST['btn_submit']) ) { try { // SQL作成 - $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, rpuniqid, ueuse, photo1, photo2, video1, datetime, abi) VALUES (:username, :account, :uniqid, :rpuniqid, :ueuse, :photo1, :photo2, :video1, :datetime, :abi)"); + $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, rpuniqid, ueuse, photo1, photo2, video1, datetime, abi, nsfw) VALUES (:username, :account, :uniqid, :rpuniqid, :ueuse, :photo1, :photo2, :video1, :datetime, :abi, :nsfw)"); $stmt->bindParam(':username', $username, PDO::PARAM_STR); $stmt->bindParam(':account', $userid, PDO::PARAM_STR); @@ -365,6 +379,8 @@ if( !empty($_POST['btn_submit']) ) { $stmt->bindParam(':abi', $abi, PDO::PARAM_STR); + $stmt->bindParam(':nsfw', $save_nsfw, PDO::PARAM_STR); + // SQLクエリの実行 $res = $stmt->execute(); @@ -484,6 +500,7 @@ $pdo = null; + @@ -513,59 +530,62 @@ $pdo = null;

画像のEXIF情報(位置情報など)は削除されません。
情報漏洩に気をつけてくださいね…

- - - + + + + +
+ + +
- + }); + document.getElementById("upload_images2").addEventListener('change', function(e){ + var file_reader = new FileReader(); + // ファイルの読み込みを行ったら実行 + file_reader.addEventListener('load', function(e) { + const element = document.querySelector('#images2'); + const createElement = '

画像を選択しました。

'; + element.insertAdjacentHTML('afterend', createElement); + }); + file_reader.readAsText(e.target.files[0]); + }); + document.getElementById("upload_images").addEventListener('change', function(e){ + var file_reader = new FileReader(); + // ファイルの読み込みを行ったら実行 + file_reader.addEventListener('load', function(e) { + const element = document.querySelector('#images'); + const createElement = '

画像を選択しました。

'; + element.insertAdjacentHTML('afterend', createElement); + $("#images2").show(); + }); + file_reader.readAsText(e.target.files[0]); + }); +

ユーズ

diff --git a/user/index.php b/user/index.php index 0b5e8d7..3bc0a4f 100644 --- a/user/index.php +++ b/user/index.php @@ -47,8 +47,8 @@ try { if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -56,10 +56,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; - $role = $res["role"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -92,8 +93,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -101,10 +102,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; - $role = $res["role"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -405,6 +407,7 @@ $pdo = null; + diff --git a/user/report.php b/user/report.php index 07fa657..8e7279b 100644 --- a/user/report.php +++ b/user/report.php @@ -47,8 +47,8 @@ try { if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_SESSION['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -56,10 +56,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $loginid = $res["loginid"]; - $role = $res["role"]; + $userid = htmlentities($_SESSION['userid']); // セッションに格納されている値をそのままセット + $username = htmlentities($_SESSION['username']); // セッションに格納されている値をそのままセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; @@ -92,8 +93,8 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { } elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', htmlentities($_COOKIE['userid'])); $passQuery->execute(); $res = $passQuery->fetch(); if(empty($res["userid"])){ @@ -101,10 +102,11 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { exit; }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){ // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $loginid = $res["loginid"]; - $role = $res["role"]; + $userid = htmlentities($_COOKIE['userid']); // クッキーから取得した値をセット + $username = htmlentities($_COOKIE['username']); // クッキーから取得した値をセット + $loginid = htmlentities($res["loginid"]); + $role = htmlentities($res["role"]); + $sacinfo = htmlentities($res["sacinfo"]); $_SESSION['admin_login'] = true; $_SESSION['userid'] = $userid; $_SESSION['username'] = $username; diff --git a/uwuzu_database.sql b/uwuzu_database.sql index d66eb26..1ae87a8 100644 --- a/uwuzu_database.sql +++ b/uwuzu_database.sql @@ -2,8 +2,8 @@ -- version 5.2.1 -- https://www.phpmyadmin.net/ -- --- ホスト: ひみつ♡() --- 生成日時: 2023-09-02 18:20:50 +-- ホスト: ひみつ☆ +-- 生成日時: 2023-09-16 15:15:33 -- サーバのバージョン: 10.4.28-MariaDB -- PHP のバージョン: 8.2.4 @@ -18,7 +18,7 @@ SET time_zone = "+00:00"; /*!40101 SET NAMES utf8mb4 */; -- --- データベース: `nandemo` +-- データベース: `account` -- -- -------------------------------------------------------- @@ -44,7 +44,25 @@ CREATE TABLE `account` ( `follower` text NOT NULL, `admin` varchar(50) NOT NULL, `authcode` varchar(256) NOT NULL, - `backupcode` varchar(256) NOT NULL + `backupcode` varchar(256) NOT NULL, + `sacinfo` varchar(256) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + +-- +-- テーブルの構造 `ads` +-- + +CREATE TABLE `ads` ( + `sysid` int(11) NOT NULL, + `uniqid` varchar(512) NOT NULL, + `url` varchar(512) NOT NULL, + `image_url` varchar(512) NOT NULL, + `memo` text NOT NULL, + `start_date` datetime NOT NULL, + `limit_date` datetime NOT NULL, + `datetime` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- -------------------------------------------------------- @@ -109,6 +127,22 @@ CREATE TABLE `notification` ( -- -------------------------------------------------------- +-- +-- テーブルの構造 `report` +-- + +CREATE TABLE `report` ( + `sysid` int(11) NOT NULL, + `uniqid` varchar(256) NOT NULL, + `userid` varchar(500) NOT NULL, + `report_userid` varchar(500) NOT NULL, + `msg` text NOT NULL, + `datetime` datetime NOT NULL, + `admin_chk` varchar(25) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +-- -------------------------------------------------------- + -- -- テーブルの構造 `role` -- @@ -140,7 +174,8 @@ CREATE TABLE `ueuse` ( `datetime` datetime NOT NULL, `favorite` text NOT NULL, `abi` text NOT NULL, - `abidate` datetime NOT NULL + `abidate` datetime NOT NULL, + `nsfw` varchar(25) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; -- @@ -153,6 +188,12 @@ CREATE TABLE `ueuse` ( ALTER TABLE `account` ADD PRIMARY KEY (`sysid`); +-- +-- テーブルのインデックス `ads` +-- +ALTER TABLE `ads` + ADD PRIMARY KEY (`sysid`); + -- -- テーブルのインデックス `emoji` -- @@ -177,6 +218,12 @@ ALTER TABLE `notice` ALTER TABLE `notification` ADD PRIMARY KEY (`sysid`); +-- +-- テーブルのインデックス `report` +-- +ALTER TABLE `report` + ADD PRIMARY KEY (`sysid`); + -- -- テーブルのインデックス `role` -- @@ -199,6 +246,12 @@ ALTER TABLE `ueuse` ALTER TABLE `account` MODIFY `sysid` int(11) NOT NULL AUTO_INCREMENT; +-- +-- テーブルの AUTO_INCREMENT `ads` +-- +ALTER TABLE `ads` + MODIFY `sysid` int(11) NOT NULL AUTO_INCREMENT; + -- -- テーブルの AUTO_INCREMENT `emoji` -- @@ -223,6 +276,12 @@ ALTER TABLE `notice` ALTER TABLE `notification` MODIFY `sysid` int(11) NOT NULL AUTO_INCREMENT; +-- +-- テーブルの AUTO_INCREMENT `report` +-- +ALTER TABLE `report` + MODIFY `sysid` int(11) NOT NULL AUTO_INCREMENT; + -- -- テーブルの AUTO_INCREMENT `role` --