HowTo

PHPからエクセルファイルをダウンロード出来るようにする

2010年6月15日 火曜日


$xlsfilename = "test.xls"; //ファイル名
$xlspath = "/var/www/test.xls"; //実際のパス
header("Content-Type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename="'.$xlsfilename.'"');
readfile($xlspath);

これで少なくともダウンロードされる。

-->

Firefoxのアドオン(addon)に入っているSearch Helper Extension

2010年6月15日 火曜日

PHPのaddslashesとmysql_escape_stringとmysql_real_escape_stringについて

2010年6月11日 金曜日

ところが、
http://gihyo.jp/dev/serial/01/php-security/0028?page=2
では使用禁止の禁忌として取り扱っている。

ネット上を探しても、確かに脆弱性が発見されているから使うな。という記事が多い。

ちなみにmysql_escape_stringはNGらしい。これを使うならmysql_real_escape_stringを使用せよ。とある。

ただ個人的には指南書の通りaddslashesでいきたいと思うのだが、
さてどうしたものか。
という事で、いい事を思いつく。

脆弱性が発見されて禁忌関数という事なのであれば、WordPressやECcubeでは使用されていないはず!
と思い、ソースコードを調べてみた。

WordPress内でaddslashesが使われているか調査

ECcubeでaddslashesが使われているか調査

結構出てくるじゃないですか。普通に使っているのかもしれませんよ。

ちなみにmysql_escape_stringは二つのシステムは0件、mysql_real_escape_stringはチラホラとは出てきました。
が、addslashesよりは少ないです。

ということは・・・addslashesなんじゃない?やっぱり。
間違ってたらコメントで指摘してください。

-->

SSLでmod_rewriteが効かない時、あるいはZend Frameworkなどのフレームワークが動かない時

2010年6月11日 金曜日

grepでファイル内の文字列を検索するとき、さらに下層ディレクトリも探す方法

2010年6月10日 木曜日

PHPで郵便番号データにハイフンを付ける

2010年6月10日 木曜日

query_postsではカスタムフィールドの値を指定可能

2010年6月9日 水曜日

custom-field-gui-utilityのconf.iniでのcheckboxについて

2010年6月9日 水曜日

PHPでCSRF対策(ワンタイムチケットの発行)

2010年6月8日 火曜日

あとは最後の砦(完了用プログラムなど)にて、DBにINSERTやUPDATEする手前で、きちんと$ticketの値とセッション内のチケットを照合して、同じかどうかを試せばよい。


$ticket = $_POST['ticket'];
if( strcmp($ticket,$session->ticket)==0 )
{
//OK
}
else
{
//チケットNG。何らかの問題あり
}

・・・

//最後に$session->ticketの値は削除する事。

間違ってたら誰か指摘してくださいね。

-->

メールアドレスの接続確認をtelnetで行う方法

2010年6月8日 火曜日

[root@localhost test]# telnet 999.999.999 110
Trying 999.999.999.999…
Connected to 999.999.999.999 (999.999.999).
Escape character is ‘^]’.
+OK Dovecot ready.
USER test@example.com
+OK
PASS passworddesu
+OK Logged in.

終了なら
QUIT
+OK Logging out.
Connection closed by foreign host.

-->

postfixadminでメールの保存先

2010年6月8日 火曜日

postfixadminを設置したディレクトリ上の
config.inc.php
で、

// Mailboxes
// If you want to store the mailboxes per domain set this to ‘YES’.
// Examples:
// YES: /usr/local/virtual/domain.tld/username@domain.tld
// NO: /usr/local/virtual/username@domain.tld
$CONF['domain_path'] = ‘YES’;
// If you don’t want to have the domain in your mailbox set this to ‘NO’.
// Examples:
// YES: /usr/local/virtual/domain.tld/username@domain.tld
// NO: /usr/local/virtual/domain.tld/username
// Note: If $CONF['domain_path'] is set to NO, this setting will be forced to YES.
$CONF['domain_in_mailbox'] = ‘YES’;

の項目を修正していけばいい。
$CONF['domain_path'] = ‘YES’;
をYESにするとドメイン名がディレクトリとして作成、Noなら作成されない。

$CONF['domain_in_mailbox'] = ‘YES’;
をYESにすると aiueo@example.comというようにドメインもついたメールアドレスのディレクトリ。
Noだと@より前(前述例だとaiueo)のみとなる。

-->

viをvimにするためにvimをインストール

2010年6月7日 月曜日

Apacheのモジュール停止(mod_ldapとmod_authnz_ldap)

2010年6月7日 月曜日

OpenSSHを利用して秘密鍵、公開鍵の作成

2010年6月7日 月曜日

yumでphpmyadminを入れる場合

2010年6月7日 月曜日

この時、

http://~~~~/phpmyadmin

というURLは、全て/usr/share/phpMyAdminに進むように
/etc/httpd/conf.d/phpMyAdmin.conf
で設定される。

起動しようとすると、ひとまずBasic認証のようなものが出るが、これはMySQL内のユーザアカウントとパスワードを利用して入る事が出来る。

注)この記事は2010/06/07に作成したものです。未来ではこの情報は古いかもしれません。

-->

OpenOfficeでpptxを開いた時、うまく表示されない場合

2010年6月6日 日曜日

PHPのdate関数で、時間が9時間足りない時

2010年6月3日 木曜日

prototype.jsとjQueryの共存

2010年6月3日 木曜日

Apacheのモジュール停止(mod_userdir)

2010年6月3日 木曜日

Apacheのモジュール停止(mod_authn_anon)

2010年6月3日 木曜日