1
0
mirror of https://github.com/Daichimarukana/uwuzu.git synced 2026-06-04 19:14:41 +00:00

uwuzu v1.6.4 Hapuego

This commit is contained in:
だいちまる
2025-08-20 01:30:46 +09:00
parent 46e8e49c9e
commit 7c4de15050
5 changed files with 52 additions and 31 deletions
+36 -13
View File
@@ -410,11 +410,8 @@ function check_mime($tmp_name){
"image/gif",
"image/jpeg",
"image/png",
"image/svg+xml",
"image/webp",
"image/bmp",
"image/x-icon",
"image/tiff"
);
if(in_array($tmp_ext,$safe_img_mime)){
return $tmp_ext;
@@ -443,11 +440,8 @@ function convert_mime($mime_type){
"image/gif" => 'gif',
"image/jpeg" => 'jpg',
"image/png" => 'png',
"image/svg+xml" => 'svg',
"image/webp" => 'webp',
"image/bmp" => 'bmp',
"image/x-icon" => 'ico',
"image/tiff" => 'tiff',
"video/mpeg" => 'mpeg',
"video/mp4" => 'mp4',
"video/webm" => 'webm',
@@ -469,11 +463,8 @@ function base64_mime($Base64,$userid){
"image/gif" => 'gif',
"image/jpeg" => 'jpg',
"image/png" => 'png',
"image/svg+xml" => 'svg',
"image/webp" => 'webp',
"image/bmp" => 'bmp',
"image/x-icon" => 'ico',
"image/tiff" => 'tiff'
];
if(isset($safe_img_mime[$mime_type])){
@@ -482,6 +473,11 @@ function base64_mime($Base64,$userid){
file_put_contents($temp_file, $Base64);
delete_exif($extension, $temp_file);
resizeImage($temp_file, 8192, 8192);
if(check_mime($temp_file) == "image/webp"){
$extension = 'webp';
}
$newFilename = createUniqId() . '-' . $userid . '.' . $extension;
$uploadedPath = '../ueuseimages/' . $newFilename;
@@ -514,11 +510,8 @@ function base64_to_files($Base64, $userid) {
"image/gif" => 'gif',
"image/jpeg" => 'jpg',
"image/png" => 'png',
"image/svg+xml" => 'svg',
"image/webp" => 'webp',
"image/bmp" => 'bmp',
"image/x-icon" => 'ico',
"image/tiff" => 'tiff'
];
if (!(isset($safe_img_mime[$mime_type]))) {
@@ -533,6 +526,11 @@ function base64_to_files($Base64, $userid) {
// 必要に応じてEXIFデータを削除
delete_exif($extension, $temp_file);
resizeImage($temp_file, 8192, 8192);
if(check_mime($temp_file) == "image/webp"){
$extension = 'webp';
}
// ファイル名とアップロードパスを生成
$newFilename = createUniqId() . '-' . $userid . '.' . $extension;
@@ -561,12 +559,18 @@ function resizeImage($filePath, $maxWidth, $maxHeight) {
} elseif($imageType == "image/bmp") {
$originalImage = imagecreatefrombmp($filePath);
} else {
return;
return true;
}
// 元の画像のサイズを取得
list($originalWidth, $originalHeight) = getimagesize($filePath);
if ($originalWidth <= $maxWidth && $originalHeight <= $maxHeight) {
imagewebp($originalImage, $filePath, 90);
imagedestroy($originalImage);
return true;
}
// 縦横比を計算
$aspectRatio = $originalWidth / $originalHeight;
@@ -588,6 +592,8 @@ function resizeImage($filePath, $maxWidth, $maxHeight) {
// メモリの解放
imagedestroy($originalImage);
imagedestroy($resizedImage);
return true;
}
}
@@ -1425,12 +1431,17 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
// アップロードされたファイルの拡張子を取得
$extension = convert_mime(check_mime($uploadedFile['tmp_name']));
delete_exif($extension, $uploadedFile['tmp_name']);
resizeImage($uploadedFile['tmp_name'], 8192, 8192);
if($aibwm === true){
AIBlockWaterMark($uploadedFile['tmp_name'], $userid);
}
if(AMS3_CHKS == "true"){
$s3result = uploadAmazonS3($uploadedFile['tmp_name']);
}else{
if(check_mime($uploadedFile['tmp_name']) == "image/webp"){
$extension = 'webp';
}
// 新しいファイル名を生成(uniqid + 拡張子)
$newFilename = createUniqId() . '-'.$userid.'.' . $extension;
// 保存先のパスを生成
@@ -1481,12 +1492,16 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
// アップロードされたファイルの拡張子を取得
$extension2 = convert_mime(check_mime($uploadedFile2['tmp_name']));
delete_exif($extension2, $uploadedFile2['tmp_name']);
resizeImage($uploadedFile2['tmp_name'], 8192, 8192);
if($aibwm === true){
AIBlockWaterMark($uploadedFile2['tmp_name'], $userid);
}
if(AMS3_CHKS == "true"){
$s3result = uploadAmazonS3($uploadedFile2['tmp_name']);
}else{
if(check_mime($uploadedFile2['tmp_name']) == "image/webp"){
$extension2 = 'webp';
}
// 新しいファイル名を生成(uniqid + 拡張子)
$newFilename2 = createUniqId() . '-'.$userid.'.' . $extension2;
// 保存先のパスを生成
@@ -1536,12 +1551,16 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
// アップロードされたファイルの拡張子を取得
$extension3 = convert_mime(check_mime($uploadedFile3['tmp_name']));
delete_exif($extension3, $uploadedFile3['tmp_name']);
resizeImage($uploadedFile3['tmp_name'], 8192, 8192);
if($aibwm === true){
AIBlockWaterMark($uploadedFile3['tmp_name'], $userid);
}
if(AMS3_CHKS == "true"){
$s3result = uploadAmazonS3($uploadedFile3['tmp_name']);
}else{
if(check_mime($uploadedFile3['tmp_name']) == "image/webp"){
$extension3 = 'webp';
}
// 新しいファイル名を生成(uniqid + 拡張子)
$newFilename3 = createUniqId() . '-'.$userid.'.' . $extension3;
// 保存先のパスを生成
@@ -1590,12 +1609,16 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
// アップロードされたファイルの拡張子を取得
$extension4 = convert_mime(check_mime($uploadedFile4['tmp_name']));
delete_exif($extension4, $uploadedFile4['tmp_name']);
resizeImage($uploadedFile4['tmp_name'], 8192, 8192);
if($aibwm === true){
AIBlockWaterMark($uploadedFile4['tmp_name'], $userid);
}
if(AMS3_CHKS == "true"){
$s3result = uploadAmazonS3($uploadedFile4['tmp_name']);
}else{
if(check_mime($uploadedFile4['tmp_name']) == "image/webp"){
$extension4 = 'webp';
}
// 新しいファイル名を生成(uniqid + 拡張子)
$newFilename4 = createUniqId() . '-'.$userid.'.' . $extension4;
// 保存先のパスを生成
+1 -1
View File
@@ -43,7 +43,7 @@ accounts
help
helps
info
infomation
information
notice
notification
tech
+2 -2
View File
@@ -1,4 +1,4 @@
uwuzu
1.6.3
2025/08/10
1.6.4
2025/08/20
daichimarukana,putonfps
+10
View File
@@ -1,6 +1,15 @@
## リリースノートだぜぇぇぇぇぇぇい!!!!!!!
ここにはuwuzuの更新情報を載せてくぜぇ~!(いやまてテンションおかしいだろ...)
## Version 1.6.4
2025/08/20
fix: 画像のアップロード時に発生するおそれのある脆弱性を修正しました!
fix: 前回のアップデートで配信予定だったbanuserid.txtの修正配信忘れの修正を行いました!
chg: ユーズに添付される画像の最大サイズを8192x8192pxにしました!(超過するものはリサイズされます)
chg: gif画像を除くユーズ添付画像ファイルはすべてwebp形式に変換されるようになりました!
del: svg・tiff・ico形式の画像の対応機能を削除しました!
Special thanks: @modurili デバッグ用画像をご提供いただきました。
## Version 1.6.3
2025/08/10
fix: 「0」のみのユーズが行えない問題を修正しました!
@@ -12,6 +21,7 @@ new: 通知APIにvalueidという値を追加しました!
valueidでは、ユーズのメンションや返信では、メンション・返信してきたユーズのID、フォローなどではフォローしてきたユーザーのIDなどが入ります。
すべての通知にvalueidの値が含まれるわけではありませんので、ご注意ください。
これにより、uwuzuのDB内のnotificationテーブルの構造に「valueid」(varchar(256))を追加する必要があります。
uwuzu_database.sqlは更新済みです。
## Version 1.6.2 (Hapuego)
2025/08/08
+3 -15
View File
@@ -1,24 +1,12 @@
{
"software": "uwuzu",
"version": "1.6.3",
"release_date": "2025/08/10",
"release_notes": "このアップデートでは、「0」のみのユーズが行えない問題の修正や、タイムラインの大幅高速化などの改善が含まれています\nアップデートの前にDBの構造の更新が必要です。リリースノートに従って更新をしてください!\n詳細はリリースノートをご確認ください。",
"version": "1.6.4",
"release_date": "2025/08/20",
"release_notes": "このアップデートでは、ユーズの添付画像に関する重大な脆弱性の修正が含まれます\n早急なアップデートを強く推奨します!!!!!\n詳細はリリースノートをご確認ください。",
"notices": "アップデート前にデータのバックアップを行うことをおすすめします!",
"files": {
"overwrite": [
"/api/me/notification/index.php",
"/function/function.php",
"/nextpage/bookmarktimeline.php",
"/nextpage/followtimeline.php",
"/nextpage/foryoutimeline.php",
"/nextpage/localtimeline.php",
"/nextpage/searchtimeline.php",
"/nextpage/ueusetimeline.php",
"/nextpage/userliketimeline.php",
"/nextpage/usermediatimeline.php",
"/nextpage/usertimeline.php",
"/settings/index.php",
"/login.php",
"/server/uwuzuabout.txt",
"/server/uwuzuinfo.txt",
"/server/uwuzurelease.txt"