Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: 網路架站

mediawiki 權限修改

Posted on 2007 年 9 月 14 日2021 年 3 月 12 日 By 日落 在〈mediawiki 權限修改〉中尚無留言

Mediawiki 預設讓沒有註冊的使用者也能修改頁面,要取消未登入使用者修改的權限,就需要修改 LocalSettings.php 的設定。

Mediawiki 的權限,是放在 $wgGroupPermissions 的二維陣列中,所以修改這個陣列的內容就可以改變使用者權限。

不過要注意的是修改設定的語句,要加在 LocalSettings.php 的最後面,不然會因為中間程式 include 其他設定值以後被覆蓋掉。

設定方式,是先取消所有使用者的修改權限,再加入已註冊使用者的修改權限。

$wgGroupPermissions['*']['edit']    = false;
$wgGroupPermissions['user']['edit'] = true;
Tags:網路架站

HTML 語系設定

Posted on 2007 年 9 月 10 日2021 年 3 月 12 日 By 日落 在〈HTML 語系設定〉中有 4 則留言

筆記之前我要加一句話:我恨微軟!!!

HTML 上面會有語系,也就是網頁編碼的方式的設定,通常會放在 <head> 標籤中間:
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
但是該死的 IE 因為他的「超高相容性」和「超聰明的自動判斷」功能,讓大家以為用 IE 什麼錯誤都不會發生。結果好死不死 IE 的預設編碼又是 Big5,再加上他的判斷有點腦殘,所以網頁編碼常常選錯,即是你有設定………。

剛剛發現 IE 的編碼設定,必須要寫在所有文字出現以前,不然就會錯誤。例如:

<head>
<title>編碼測試</title>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

會錯誤,必須把 <title> 放到 <meta> 之後。 @_@a

Tags:網路架站

PHP encryption note

Posted on 2007 年 9 月 1 日2021 年 3 月 12 日 By 日落 在〈PHP encryption note〉中尚無留言

開始找可用的 PHP 編碼方式,MD5 已經不能在用了,SHA1 目前還好但是不知道以後會不會出問題。


$phrase = "Hello World";

$sha1a = base64_encode(sha1($phrase));
$sha1b = base64_encode(bin2hex(mhash(MHASH_SHA1,$phrase)));
$sha256b= base64_encode(bin2hex(mhash(MHASH_SHA256,$phrase)));

echo ("SHA1..:" . $sha1a . "n");
echo ("SHA1..:" . $sha1b . "n");
echo ("SHA256:" . $sha256b . "n");
?>
Tags:PHP, 網路架站, 資訊安全

用 PHP 隱藏檔案下載位置

Posted on 2007 年 8 月 27 日2021 年 3 月 12 日 By 日落 在〈用 PHP 隱藏檔案下載位置〉中尚無留言

很多網站都會怕大家知道檔案位置以後,開始隨便散步網址給大家盜連,這樣網站的流量馬上會爆掉。另外也有可能讓駭客找到漏洞上傳 Web Shell,並且開始遙控……。

後來玩 PHPWind 論壇的時候,發現論壇可以讓上傳的檔案名稱全部改掉,在下載的時候也看不到檔案在伺服器上面的位置,所以跑去看了一下原始碼是怎麼寫的。PHPWind 檔案下載的程式是寫成 function 放在 /job.php 裡面,找到下面這行:

elseif($action=='download')

他的確是用 header() 來做檔案連結,但是不是我想像中的 header(“Location: URL”),這樣其實瀏覽器還是可以看到檔案位置,他是用 header 讓瀏覽器知道之後傳的資料為檔案內容,讓瀏覽器把資料寫成檔案,然後由伺服器先讀檔案內容以後傳給瀏覽器。所以瀏覽器從頭到尾只知道要存檔時預設的檔名、檔案類型和檔案內容,完全不知道檔案在伺服器上的位址。下面是 job.php 負責檔案下載的程式片段:

header('Last-Modified: '.gmdate('D, d M Y H:i:s',time()+31536000 ).' GMT');
header('Pragma: no-cache');
header('Content-Encoding: none');
header('Content-Disposition: '.$attachment.'; filename='.$name);
header('Content-type: '.$fileext);

if($attach_url && !file_exists("$attachdir/$attachurl") && function_exists('file_get_contents')){
$downcontent=file_get_contents($attach_url."/$attachurl");
}else{
$filesize = filesize($attachdir.'/'.$attachurl);
header('Content-Length: '.$filesize);
$downcontent=readover("$attachdir/$attachurl");
}
echo $downcontent;
exit;

稍微改了一下以後會變成下面這幾行:

header('Last-Modified: '.gmdate('D, d M Y H:i:s',time()).' GMT');
header('Pragma: no-cache');
header('Content-Encoding: none');
header('Content-Disposition: '.'attachment'.'; filename='.$file_name);
header('Content-type: '.$file_type);
header('Content-Length: '.filesize( $file_path_on_server ));
$downcontent=file_get_contents( $file_path_on_server );
echo $downcontent;

$file_nam:瀏覽器存檔時預設的檔案名稱
$file_type:檔案類型,檔案上傳時會顯示
$file_path_on_server:檔案在伺服器上真正的路徑

至於 header() 的設定細節我還沒摸清楚,header() 的資料很多,目前還沒整理出一個頭緒,弄清楚以後再來做筆記吧。

Tags:PHP, 程式設計, 網路架站

.htaccess 檔案真好用

Posted on 2007 年 8 月 24 日2021 年 3 月 12 日 By 日落 在〈.htaccess 檔案真好用〉中尚無留言

拜 Aleiku 之賜,發現 .htaccess 可以限制目錄底下的檔案存取,不過目前只知道對 Apache 有用。

假設你在某個目錄底下的所有檔案都不准讓別人瀏覽或下載,可以在目錄裡新增一個檔案,檔名為「.htaccess」。雖然你很快就會發現 Windows 不讓你使用這種檔案名稱,但是你可以用其他軟體如:Total Commander等檔案管理軟體新建檔案或是另存新檔等功能做到。

把下面二段複製到檔案中存檔:

order allow,deny
deny from all

重新啟動 Apache 以後,你就會發現目錄底下所有的東西都不能讀取,連 HTML 也一樣。

詳細設定方式請參考:
使用 .htaccess 網頁認證的方式
.htaccess檔製作
htaccess文件使用大全

Tags:網路架站

文章分頁

上一頁 1 ... 9 10 11 12 下一頁

其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.