お疲れ様です。
今回はセキュリティについて備忘録します。
PHPをコーティングしていくうえで、いろいろなセキュリティ対策を行なうかと
思いますが、今回はファイルアップロード攻撃についてです。
ファイルアップロード攻撃とは
「ファイルをサーバー上にアップロードした後、アップロードしたファイルにアクセスしてPHPコードやJavascriptを実行する」
攻撃です。
サーバー上で、任意のコードが実行出来てしまうので結構危険です。
対策としては
・ファイルをアップロードするフォルダを公開フォルダの外にする。
・アップされるファイル名をランダムにする
・転送スクリプトを書く
などがあるみたいです。
下記参考サイトに非常に分かりやすく記載があります。
参考サイト:http://d.hatena.ne.jp/owa-tayo/20100129/1264714595
owa-tayo初心技術者の玉手箱様 ありがとうございます。
以上
うちなーんちゅプログラマーのクラクラが、仕事中(主にPHP関連、CakePHP(1.2系)関連。たまにその他雑記)に得た知識等を備忘録として残し、そして同じ問題で悩んでいる人がこの備忘録を参考に解決出来ればと思い、開設しました。温かい目で見てやってください。 ☆コメントどしどし募集中☆
2011年4月6日水曜日
2011年4月5日火曜日
【PHP関連】mb_send_mail()関数の文字化けについて
お疲れ様です。
最近更新をサボっています・・・
いろいろと備忘録するネタはあるんですが
書くのを面倒くさがっています。
新年度になりましたので、気を引き締めていきたいと思います。
さて、件名の件で備忘録します。
非常に便利なメール送信関数のmb_send_mail()関数ですが
文字化けしましたので、その時の対処を備忘録します。
原因は
PHPのスクリプトを書いている文字コードと、そのPHPスクリプトを動作させるサーバーのデフォルトの文字コード設定の相違らしいです。
なので下記コードを追加すると解決しました。
カレントの言語を日本語に設定する
mb_language("ja");
内部文字エンコードを設定する
mb_internal_encoding("UTF-8");
この後にmb_send_mail()関数を実行します。
以上
最近更新をサボっています・・・
いろいろと備忘録するネタはあるんですが
書くのを面倒くさがっています。
新年度になりましたので、気を引き締めていきたいと思います。
さて、件名の件で備忘録します。
非常に便利なメール送信関数のmb_send_mail()関数ですが
文字化けしましたので、その時の対処を備忘録します。
原因は
PHPのスクリプトを書いている文字コードと、そのPHPスクリプトを動作させるサーバーのデフォルトの文字コード設定の相違らしいです。
なので下記コードを追加すると解決しました。
カレントの言語を日本語に設定する
mb_language("ja");
内部文字エンコードを設定する
mb_internal_encoding("UTF-8");
この後にmb_send_mail()関数を実行します。
以上
2011年3月1日火曜日
【Joomla1.5系関連】パンくずモジュールのカスタマイズ方法
お疲れ様です。
今回は、久々にいじったCMSのJoomlaについての備忘録です。
しかしJoomlaといえば、
最近1.6系が正式にリリースされましたが、出たばかりのものは
大抵バグが潜んでいますので、1.5系がまだまだ活躍しそうだなと思います。
件名にもありますが、Joomlaには標準でパンくずを生成してくれる
モジュールが用意されています。
今回もそのモジュールを利用しようと思いましたが、
サイトトップが2つあるという変わったサイトとなっており
現在メニューをいろいろ駆使して(そこらへんは面倒なので省きます。。。)
トップが2つあるように見せかけています。
なので、パンくずモジュールを2つ利用する必要がありますが、基本的に
トップは1つという考えなので、2つモジュールを生成してもパンくずのHOMEを
クリックすると、一つのトップにしかリンクされません。
そこでもう一つのパンくずモジュールは、オリジナルで作成し(殆どコピーですが)
新たにインストールすることでパンくずを2つ使おうという考えに至りました。
オリジナル版ではHOMEのリンクを2つめのトップページ(みせかけの)にする必要が有るため
ファイルをカスタマイズします。方法は下記の通り
1.mod_breadcrumbs(パンくずモジュール)内のhelper.phpを開きます。
2.38行目あたりの$item->link = JURI::base();の部分を
$item->link = "(リンクしたいトップページアドレス)";
に変更します。
以上で完了です。
このJURI::base()がどうやら、トップページを引っ張っているようですね。
以上
今回は、久々にいじったCMSのJoomlaについての備忘録です。
しかしJoomlaといえば、
最近1.6系が正式にリリースされましたが、出たばかりのものは
大抵バグが潜んでいますので、1.5系がまだまだ活躍しそうだなと思います。
件名にもありますが、Joomlaには標準でパンくずを生成してくれる
モジュールが用意されています。
今回もそのモジュールを利用しようと思いましたが、
サイトトップが2つあるという変わったサイトとなっており
現在メニューをいろいろ駆使して(そこらへんは面倒なので省きます。。。)
トップが2つあるように見せかけています。
なので、パンくずモジュールを2つ利用する必要がありますが、基本的に
トップは1つという考えなので、2つモジュールを生成してもパンくずのHOMEを
クリックすると、一つのトップにしかリンクされません。
そこでもう一つのパンくずモジュールは、オリジナルで作成し(殆どコピーですが)
新たにインストールすることでパンくずを2つ使おうという考えに至りました。
オリジナル版ではHOMEのリンクを2つめのトップページ(みせかけの)にする必要が有るため
ファイルをカスタマイズします。方法は下記の通り
1.mod_breadcrumbs(パンくずモジュール)内のhelper.phpを開きます。
2.38行目あたりの$item->link = JURI::base();の部分を
$item->link = "(リンクしたいトップページアドレス)";
に変更します。
以上で完了です。
このJURI::base()がどうやら、トップページを引っ張っているようですね。
以上
2011年1月26日水曜日
【Office Access関連】Access2007にて「定義されているフィールドが多すぎます」と表示された場合
お疲れ様です。
ハマりそうだったので備忘録します。
Access2007にてテーブルを作成、または既フィールドの変更等を行なっている時
テーブルを保存する場合に
「定義されているフィールドが多すぎます」と表示され
うまくテーブルを保存することが出来ない現象が発生します。
考えられる原因として
1.定義可能なフィールド数255を超えている
があります。
ただし、「255もフィールドないぞ?!」という方もいらっしゃるかもしれません。
私もその一人でした。
その場合は次のAccessの仕様の可能性が高いです。
「Accessの内部でフィールド定義数のカウンター値が用意されており、フィールド定義時に加算されるが、フィールドの型などを変更した際にも加算され、フィールド削除時は減算されない仕様」
とのことです。つまり・・・
150のフィールドを定義した後、150フィールドの型を変更した場合は
150+150=300となり、255を超えているので定義されている~メッセージが表示されるということです。
解決方法は
「最適化」
これだけですみます。
意外に分からなかった方も多いのではないでしょうか。
以上です。
ハマりそうだったので備忘録します。
Access2007にてテーブルを作成、または既フィールドの変更等を行なっている時
テーブルを保存する場合に
「定義されているフィールドが多すぎます」と表示され
うまくテーブルを保存することが出来ない現象が発生します。
考えられる原因として
1.定義可能なフィールド数255を超えている
があります。
ただし、「255もフィールドないぞ?!」という方もいらっしゃるかもしれません。
私もその一人でした。
その場合は次のAccessの仕様の可能性が高いです。
「Accessの内部でフィールド定義数のカウンター値が用意されており、フィールド定義時に加算されるが、フィールドの型などを変更した際にも加算され、フィールド削除時は減算されない仕様」
とのことです。つまり・・・
150のフィールドを定義した後、150フィールドの型を変更した場合は
150+150=300となり、255を超えているので定義されている~メッセージが表示されるということです。
解決方法は
「最適化」
これだけですみます。
意外に分からなかった方も多いのではないでしょうか。
以上です。
2011年1月6日木曜日
【VB関連】メッセージボックス内での改行方法
お疲れ様です。
新年明けましておめでとうございます。
今年もよろしくお願い致します。
新年初の投稿です。
何度も調べなおすので備忘録します。
メッセージボックス内で改行する場合は
例)Msgbox "abc" & vbCrLf & "123"
となります。
以上
新年明けましておめでとうございます。
今年もよろしくお願い致します。
新年初の投稿です。
何度も調べなおすので備忘録します。
メッセージボックス内で改行する場合は
例)Msgbox "abc" & vbCrLf & "123"
となります。
以上
登録:
投稿 (Atom)