FC2ブログ

PHP+SQLのへっぽこラボ!

ブログの中身はPHP+MySQLについてのメモです。プログラミングのお困り解消のお役に立てたらうれしいです。
カテゴリ
PHP+MySQL (2)
このブログについて (1)
PHPセキュリティ (2)
PHPとSQLの参考書 (0)
未分類 (0)
月別アーカイブ
  • 2009/10 (5)
最新記事
  • クロスサイトスクリプティング(XSS)攻撃の仕組み (10/14)
  • Access denied for user... (10/14)
  • XSSに対する脆弱性をチェックしよう!! (10/14)
  • MySQLのデータをエクセルに移す方法 (10/14)
  • ホームページをもっと楽しくするPHP+MySQL♪ (10/14)
最新コメント
最新トラックバック
プロフィール

Author:ミラクルクッキータイム
FC2ブログへようこそ!

検索フォーム


RSSリンクの表示
  • 最近記事のRSS
  • 最新コメントのRSS
  • 最新トラックバックのRSS
リンク
  • Miracle Town
  • yuwaの生地と薔薇雑貨と素材
  • お湯で落とせるメイク & コスメ
  • イマン&マニーのカントリー雑貨
  • 健康にイイものいっぱい!幸せキッチン
  • つなぎ&オーバーオール
  • スカート男子のためのメンズファッション
  • ネットで稼ぐアフィリエイト実践記
  • 雷果のタロット占い-メールマガジン-
  • 管理画面
このブログをリンクに追加する
Powered By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード

スポンサーサイト

-- --, --Posted inスポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。

クロスサイトスクリプティング(XSS)攻撃の仕組み

10 14, 2009Posted inPHPセキュリティ

クロスサイトスクリプティングはアプリケーションを狙った攻撃の一つです。
クロスサイトスクリプティング、略してXSSと呼ばれることが多いです。
こんな感じのフォームを作って、フォームから受け取った内容を
ページに表示したい場合がありますよね。


フォームの例



たとえばこの中に「ほげほげ」と入力して送信すると
次のページで「ほげほげさんいらっしゃい!!」と表示される場合を
考えてみましょう。



やり方としては、フォームから受け取った内容を変数にして
その内容をアウトプットするという方法だと思います。

入力欄に書きこむときにたいていの人は普通の
文章を打ち込むと思うのですが、やろうと思えば
HTMLタグやスクリプトを書き込むことも
可能です。
フォームから受け取った内容を表示する前に
チェックをかけておかないと、HTMLタグやスクリプトもそのまま
表示されてしまいます。



たとえば


<a href="http://xxx.○○○/dangersite.php">オススメサイト</a>へ
と打ち込んでみましょう。
すると下の絵のような感じで出力されます。


フォームの例2


そのままリンクとしてクリック出来るようになっています。
これを利用して、
ウィルスをばらまいているような危険なサイトへ
誘導するページが作られてしまいます。
http://xxx.○○○/dangersite.php
がデンジャラスなページだった場合、
ホームページに遊びにきたお客さんが気付かずにこのリンクを踏んでしまうと…。


クロスサイトスクリプティングはその名前のとおり、
スクリプトを使って、脆弱性のあるサイトを踏み台にして攻撃する方法なんですね。


次はその対策法を解説します。
今週中あたりには出来上がる予定ですので
楽しみに待っていてくださいね!!


FC2 Blog Ranking
{0 Comments}

Access denied for user...

10 14, 2009Posted inPHP+MySQL


PDO機能を使ってMySQLデータベースにアクセスしようとしたのですが、
こんなメッセージが出現してエラーになってしまいました。
原因はパスワードなどを書いたiniファイルが間違っていたことです。
あと、PDOはPEARパッケージがサーバーに入っていないと使えません。
PEARはPHPをパワーアップさせるパッケージです。ちなみにこれは有志の方が開発してるフリーソースなので
無料でゲットすることができます。


早速、エラーをやっつけましょう!!


Step01 PEARを入手
さくらインターネット
でPDOを使いたい場合は
PEARをインストールする必要があります。

こちらを参考にまずはPearをゲットします。
◆さくらでpearインストール覚書


PEARをインストールしたら、

phpinfo()

を書きこんだPHPファイルを作って
そのファイルをブラウザで開きます。

PDOという項目があるので確認してください。

PDO support:enabled
PDO drivers:sqlite, mysql, sqlite2

となっていればPDOが使えます。

Step02 MySQL接続文をチェック
MySQLを呼び出すPHPファイルに

$mcon = new PDO ('mysql:host=ホスト名;dbname=データベース名','ユーザー名','パスワード');

を記述します。
この部分が間違っていると接続できません。

接続に失敗するとエラーメッセージが表示されます。


エラーメッセージ:
Access denied for user
(このユーザーでは接続できません→ユーザー名にエラーがある)
Unknown MySQL server host
(こんなデーターベースはありません→データーベース名がエラーがある)
Error: Can't connect to local MySQL server through socket '
(このソケットでは接続できません)



などが表示される場合は
ホスト名・データベース名・ユーザー名・パスワード
が間違っていることがあります。


間違っていない場合は、
()内に半角スペースが含まれていないか
チェックしてみてください。

ホスト名・データベース名・ユーザー名・パスワードが
すべて正しくても半角スペースなどが入っていると
エラーの原因になるようです。

おまけ
私は2日間悩みました。解決してよかった!!
半角スペースでドツボにはまりました。



{1 Comments}

XSSに対する脆弱性をチェックしよう!!

10 14, 2009Posted inPHPセキュリティ

PHPなどのプログラムを使ってホームページを作っている場合
クロスサイトスクリプティング攻撃の対策をしておく必要が
あります。
クロスサイトの心配があるかどうかを調べることが
出来るフリーソフトが「Pixy」です。

01 さっそく使ってみよう!!
Pixyはネット上で使えるソフトです。
サイトにアクセスして、テキスト入力欄にコードを入力します。
◆Pixy
コードを貼り付けたら、
「Analyze XSS!」ボタンを押します。
しばらくすると、結果を表示してくれます。

危険な個所は赤文字になります。
赤くなってしまった部分はエスケープを忘れている
可能性があるのでチェックしてみましょう。


おまけ:
ダウンロード版もあるみたいですが
CUIプログラムの使い方がいまいちよくわからなかったです…。
Pixyは大学の研究室が提供しているようです。



{0 Comments}

MySQLのデータをエクセルに移す方法

10 14, 2009Posted inPHP+MySQL

Adminがあるととっても便利ですが、
いっきに多くのデーターを編集したいときは
やっぱりExcellの方がいろいろと編集しやすいです。
そこで、データベースの内容をエクセルに落とし込めるように
したいと思います。

Step01 SQLからエクスポートする

MyAdminを利用
上にあるタブの中から「エクスポート」を選択します。


形式:「CSVデータ」

エンコード:「SJIS」

ファイルに保存にチェックします。エクセルは
シフトJISでないと文字化けしてしまします。
次に、「実行する」ボタンをクリックします。

これでCSVデータが取り出せます。

Step02 エクセルにインポートする

次は、先ほど作ったCSVデータをエクセルに取り込みます。
普通にダブルクリックして開くと、「”」だらけの
わけのわからないデータになってしまうので
インポートを使って取り込みます。


エクセルを開いて、
「データ」タブを開き
「テキストファイル」をクリックします。

設定画面が出てくるので
MySQLの場合は
「カンマやタブなどの区切り文字によって.....」
のラジオボタンにチェックを入れます。
次へ進んで、区切り文字は
「セミコロン」を選択します。

あとは「完了」をクリックするだけです。
その次の項目は
「OK」を押せば
でインポート完了です。

おまけ
逆のエクセル→MySQLは直接PHPAdmin側でのインポートしようとしたのですが
全く上手くいきませんでした…。
原因はたぶん改行コードがウィンドウズとユニックスで違うからなんだと思います。
インポートはあきらめてSQL文を作って実行させることにしました。
エクセルで編集したデータをCSVで保存し
メモ帳の置換機能を使ってSQL文を作成。
あとはAdminでそれを実行させれば、エクセルからSQLへのデータ受け渡しも
なんとかうまくできました。
さくらインターネットに入っているPHPAdminを使っています。


{0 Comments}

ホームページをもっと楽しくするPHP+MySQL♪

10 14, 2009Posted inこのブログについて


プログラムを使うと手動で変更しなくても
毎日日付を表示してくれたり、
お客さんのリクエストに合わせて
ページを表示するなど高機能なホームページが作れます。
さらにデータベースと組み合わせると検索サイトや
お買いものカート機能などさまざまなアプリケーションが作れます。



とっても便利なPHPとMySQLですが、
使っていてどうしてもうまくいかないことってありますよね。
なかなか思い通りに動いてくれないと焦ってしまいます。
私自身がドツボにはまってしまった
事項を中心に、お悩み解決策を書いていきたいと思います。



アプリケーション制作の「こうしたい!!」のヒントになれるページ
にできたらと思います。



{0 Comments}
FC2ブログ© PHP+SQLのへっぽこラボ! All rights reserved.Designed by FasionHasion