ブログ

julychina file access denied

julychinaというウィンドウに「file access denied」なるメッセージが出るウィルスは, taskmg.exeというプロセスを終了すれば,julychinaウィンドウが閉じます。

cd %systemroot%\system32\ 
del /f /q /a H taskmg.exe

などとして,exeファイルを消去するとよいでしょう。

· %2008/%09/%27 %13:%Sep

画像のサムネイル表示にGDライブラリ

Xoopsのフォーラムモジュールのnewbbで画像を投稿すると,サムネイルを自動生成してくれるが,この処理にPHPのGDライブラリを使っている。newbb/post.phpのソースを見て発見。

Fedora coreのPHP5はデフォルトではPHPにGDが入っていない。

yum install php-gd

と,yumでphp-gdをインストールすると,

Installed: php-gd.ppc 0:5.2.6-2.fc7
Complete

とでるので,

/etc/rc.d/init.d/httpd restart

でhttpdを再起動すればOK。

PHPでファイルダウンロード

PHPのheader関数で,httpヘッダーのContent-Disposition attachmentを書き出して,クライアントにファイルをダウンロードさせることができる.

header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=hoge.jpg");
header("Content-length: " . filesize("./test.jpg"));
readfile("./test.jpg");
  • hoge.jpgはダウンロードする際,クライアント側に保存されるデフォルトのファイル名。
  • ./test.jpgはダウンロードするサーバ上のファイル名。

ただし,php.iniにあるoutput_bufferingがOFFだと,バイナリがブラウザーに書き出されてしまうので,以下のようにする.

output_buffering = 4096
;output_buffering = Off
· %2008/%09/%12 %09:%Sep

XoopsをUTFに

Xoopsの文字セットは本来,EUC-JPしかサポートしていないが,MySQL5がUTF-8に対応しており,データベースやWeb関係の文字セットをUTF-8に統一して,文字化けを回避したいので,XoopsをUTF化した。主にやることは以下の通り。

  • xoops/以下の日本語のファイルをすべてUTF-8に変換する。大量のファイルの文字コードを変換するには文字コード変換ツール「KanjiTranslatorが便利。フォルダごとドラッグすれば,一括で変換してくれる。
  • xoops/language/japanese/global.phpの中身を以下のように変更
//define('_CHARSET', 'EUC-JP');
define('_CHARSET', 'UTF-8');
  • MySQLのデータの文字セットをEUCからUTFに変換する。phpMyAdminの場合,手順は以下の通り。
    1. xoopsデータベースを選択し,すべてのテーブルをSQL形式でテキストファイルにエクスポートし保存する。
    2. 保存したSQLのテキストファイルをUTFの文字セットに変換する。TeraPadの場合「文字/改行コード指定保存」。
    3. 文字セットUTFに変換したSQLファイルをphpMyAdminにインポートする。
  • フォーラムのスレッドの題名が文字化けするときは,mb_convert_kanaの内部エンコーディングを明示的にUTF-8にするとよい.
define('_CHARSET', 'UTF-8');
//$text = mb_convert_kana($text, 's');
$text = mb_convert_kana($text, 's', _CHARSET);
· %2008/%09/%08 %10:%Sep

SElinuxのモード

動作モードの確認と切り替え方法は「getenforce」コマンドと「setenforce」コマンド。

getenforceコマンドは現在の動作モードを表示し、setenforceコマンドは後ろに0または1を引数として実行することで、それぞれpermissiveモード、enforcingモードに切り替える。

# getenforce
Enforcing
# setenforce 0
# getenforce
Permissive
# setenforce 1
# getenforce
Enforcing

SElunixがenforcingモードだと.htaccessのアクセス制御が効かないので

 /usr/sbin/setenforce 0

でpermissiveモードにしたほうがよいか。 rebootすると,enforcingモードに戻る。

Disableと表示された場合はSELinuxが無効になっている。

· %2008/%08/%25 %10:%Aug
 
blog.txt · 最終更新: 2007/12/15 09:07 by kuha     文書の先頭へ