-
最近の投稿
人気の記事
- jQuery Mobileでサンプルサイトを作ってみた - 2,778 views
- JQueryでアコーディオンメニューを作成してみる - 1,981 views
- sparrow.jsの使い方とポイント - 1,895 views
- jQuery Mobileでフォームのサンプル作成してみる - 1,289 views
- sparrow.jsの導入と設定 - 1,234 views
- jQueryで階層型メニューを作ってみる - 1,029 views
- 右クリック禁止のソースを見たい!(Firefox編) - 941 views
- Dreamweaver、コピー・切り取りの一部選択が全選択になってしまう - 855 views
- jQueryで文字を面白くみせる方法 - 851 views
- Smartyインストールの手順 - 752 views
タグクラウド
アーカイブ
2012年5月 月 火 水 木 金 土 日 « 4月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 




Tag Archives: PHP
IDとパスワードをCookieで保存するときの注意
Cookieはセキュリティに考慮して使わなければならない。例えば、ネットカフェなど、公共のパソコンでパスワードを保存してしまったり、パソコンに保存されたパスワードをウィルスなどで盗まれたりすることがあります。setcookieファンクションには、第4パラメータ以降(ディレクトリ,ドメイン,セキュア接続のみ,HTTPのみの接続)にセキュリティに関する設定があります。 ディレクトリ ここで設定したディレクトリ配下でのみ有効になります ドメイン ここで設定したドメイン配下でのみ有効になります セキュア接続のみ SSL接続でのみ有効になります HTTPのみの接続 JavaScript などからはアクセスできなくなります これらの設定を正しく設定して、情報を安全に管理する。むやみに記憶期間を長く設定しすぎず、必要に応じて削除するなどして、安全性を保ちます。 参考:よくわかるPHPの教科書
emptyとissetの違い
「empty」と「isset」ファンクションは動作的にはほとんど同じ意味との事ですが、どの様に使い分けるかべきか? それは、プログラムの意味を考えると良いみたいです。ある変数に値が代入されている場合に、「値が入っている」ということも「空ではない」ということもできちゃいます。しかし、この両者の意味は受け取り方が少し違います。 「値が入っている」というのは、空であってもOKだけど、今はたまたま入っているというニュアンスがあります。逆に「空ではない」というのは、本当は値が入っていなければならないものに、ちゃんと値が入っているかを確認するニュアンスがあります。 どちらも動きは変わらないのですが、あとでプログラムを見た時に、ファンクションの意味合いが伝わりやすくなるので、プログラムを使ってメッセージを作り出すような気持で使い分けると良いとの事です。 フォームの項目であれば、必須項目は「empty」という感じでしょうか? 参考:よくわかるPHPの教科書
X-Mailerとはなんだろ?
フォーム作成でいくつかサンプルを拾ってくるとX-Mailerというコードが書かれていて、気になったので、調べてみたところ、X-MailerというのはMailを誰かに送った時に、メールヘッダにつけられる、使ったメールソフトの名称だとか。 つまり、差出人が使用したメールソフトの名称(Microsoft Outlookを使っていれば、Microsoft Outlook)とそのバージョンを表します。 例えば下記のような「X-Mailerによるフィルタ」を設定すると 対象:X-Mailerが キーワード:Outlook Express(設定したいメールソフト名を入力) 条件:を含む場合は 動作:ごみ箱に入れる Outlook Expressを使用して送信されたメールはごみ箱に入れる。というフィルタを掛けられるようです。「そんな事も知らないでフォーム作るな!」と一喝されそうですが、同じ境遇の方がいましたら参考にして頂ければと思います。 ■気になったこと PHP Manualのmb_language();に「’ja’」と「”Japanese”」と書かれているのですが、同じ意味なのでしょうか・・・。
PHPのランダムな数字を得る(rand)
<?php if(rand(0,1) == 0 ){ header(‘Location: sample-1.html’); } else { header(‘Location: sample-2.html’); } ?> PHPで無作為な数字を取り出すには「rand」というファンクションを使います。 ランダムな値 = rand(【最小の数字】,【最大の数字】); if(rand(0,1) == 0 ){ 0または1のいずれかをPHPが無作為に選んでくれます。その値を直接if構文で、0であれば「sample-1.html」に、そうでなければ(つまり1なら)「sample-2.html」に headerファンクションで遷移させています。randファンクションは、非常に応用範囲の広いファンクションなので、覚えておくと便利そうです。 もっと応用変を知りたい方は、下記のブログがオススメですよ。 参考:数学関数 – PHP関数 参考:Tech [Friday] プロモバイルエンジニアブログ
④PHPで画像投稿フォームを作成 変数編
変数についける名前を「変数名」といい、PHPでは必ず「$」から始める必要があります。 この$は金銭のドルの意味ではありませんので、単なる記号だと思いましょう。 変数名のルール 使える文字は英数字と日本語文字、記号は_(アンダースコア)のみ ○$value ○$abc_123 ○$変数 ×$!? ×$my name(空白が含まれているためNO!) 先頭には数字を使うことができない ×$123abc 大文字・小文字が違った場合は、別の変数とみなされますので注意。 ×$Value ○$value 変数は使う機会が多いので、覚えて置くと良いと思います。
③PHPで画像投稿フォームを作成
ラジオボタンにも htmlspecialchars が必要? チェックボックスやラジオボタンの場合は、ユーザーがvalue属性を編集することができないため、 htmlspecialcharsファンクションで、安全な状態にする必要はないように思えます。 しかし、実際には少しでもインターネットの知識あれば、簡単に改変することができてしまいます。 ・・・らしいです。ダークサイド恐るべし。。。 いたずらツールなども無料で配布されているため、チェックボックスなどの値であっても、 必ず htmlspecialchars で安全な状態にする必要があるので注意しましょう。
PHPで画像投稿フォームを作成してみる②
htmlspecialchars の意味を知る ユーザーが入力した情報は細心の注意が必要です。なぜなら、私たちが予想できないような行動をしたり、悪意を持ったユーザーが、プログラムを壊したり、他のユーザーに迷惑をかけるような行為を行うことがあります。あるようです。 例えば、入力ホームにループする記述を書かれてしまったり、複雑なコードを記述して個人情報を盗み出したり、プログラムの機密情報を 盗みだすようなコードすら作ることができてしまうようで、信用なりません(笑) (例)フォームに下記のアラートを10回出すという記述をフォームに入力すると・・・ <script>for(var i=0; i<10; i++) { alert(‘いたずらです’); }</script> そこで、「htmlspecialchars」ファンクションを使います。 「htmlspecialchars」ファンクションはhtmlタグの効果を打ち消して、コードを送り込まれないようにする。 ユーザーが入力した内容を画面に表示するときは、必ずこのファンクションを使って無害化してから利用しましょう。 print($_REQUEST['my_name']); ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ print(htmlspcialchars($_POST['my_name'], ENT_QUOTES)); ※ここでは、「ENT_QUOTER」には触れません。 参考:よくわかるPHPの教科書
PARSE error ってなんですか?
スクリプトをパースする時(構文解析時)に発生したものが PARSE ERROR になります。重大なエラーとみなされ、スクリプト実行が中断されます。主な PARSE には、次のようなものがあります。 スクリプトをパースする時(構文解析時)に発生したものが PARSE ERROR になります * syntax error: 構文に誤りがあります。括弧の不一致、末尾のセミコロン忘れ等が原因のことが多いです。XML を扱う場合、XML タグがショートオープンタグとして認識されている可能性があります。(この場合は、php.ini で short_open_tag = Offに設定してください。) この他、PHP のバージョンが古い等の理由で、うまく解釈できなかった場合も、PARSE error になることがあります。(unexpected T_STRING、undefined XXX のような表記になるようです。) PHP のバージョンを確認するようにしましょう。 参考サイト:オブジェクト指向PHP

