2016年11月10日木曜日
PHP の `headers already sent` エラー
PHP の `headers already sent` エラー
(参考)
http://ja.stackoverflow.com/questions/5453/php-%E3%81%AE-headers-already-sent-%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AF%E3%81%A9%E3%81%86%E7%9B%B4%E3%81%97%E3%81%9F%E3%82%89%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B
● header()の前に、出力文字(空白他)が含まれていてはいけない。
● 例)includeするhead.php に<head>が含まれていた場合。includeの前に header()をセットする。
--エラー----------------
<?php
session_start();
$title ="duf20page:Contact";
include 'head.php';
?>
<?php
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
?>
--エラー----------------
<?php
session_start();
$title ="duf20page:Contact";
?>
<?php
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
include 'head.php';
?>
--エラー----------------
<?php
session_start();
$title ="duf20page:Contact";
include 'head.php';
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
echo sha1(session_id());
?>
解決した(1)
● head.php に<head>が含まれている。includeの前に、header()をセットする。
● header()の前に、出力文字(空白他)が含まれていてはいけない。
--OK----------------
<?php
session_start();
$title ="duf20page:Contact";
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
include 'head.php';
?>
解決した(2)
● head.phpで既にchersetしてあるので、header("Content-type: text/html; charset=utf-8");を省いた。
--OKOK----------------
<?php
session_start();
$title ="duf20page:Contact";
header('X-FRAME-OPTIONS: SAMEORIGIN');
include 'head.php';
?>
-----------------------
2016年11月8日火曜日
CSRF (Cross site request forgeries) クロス サイト リクエスト フォージェリ
CSRF対策 メモ(php)
参考)ドットインストール
http://dotinstall.com/lessons/bbs_php_v2/24508
http://dotinstall.com/lessons/bbs_php_v2/24509
1) フォームをポストするファイルにトークンを仕込む。
1.トークンを作る
例) $token=sha1(uniqid(mt_rand(),true))
2.サーバ上に記録。
(1) session_start() で、セッションを使えるようにして、
(2) 変数 $_SESSION['token'] にトークンをセット。
3.トークンをデータとともに送信する
formからPOSTで、データとトークンを送り出す
2) データ受取りの処理をするファイルで、
---------------
◆ session_start エラー
エラーメッセージがでた :
Warning: session_start() [function.session-start]: Cannot send session cookie....
session_start() は、必ず、先頭に記述すること。
http://www.phppro.jp/phpmanual/php/ref.session.html
http://www.phppro.jp/phpmanual/php/function.session-start.html
---------------
◆_CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例
徳丸浩の日記 2011年01月27日
http://www.tokumaru.org/d/20110127.html
(本文より)> トークン生成は安全な乱数を用いるべきであり、安全な疑似乱数生成器がない場合は、セッションIDそのものを使う方法が妥当
(コメントより)> 時刻を種にしても安全性はたいして向上しない
---------------
◆CSRF対策の実際
2011年3月4日 23:17
http://www.phppro.jp/qa/3140
answerer:ockeghem 3月7日 09:20
・トークンの要件は、「第三者に推定されないこと」
・セッションID(session_id)は推定されない(ように対策されている)という前提をおくことができます
・トークンとして推測の困難なものを使っている場合、それに加えてハッシュ関数を通す必要はありません
参考)ドットインストール
http://dotinstall.com/lessons/bbs_php_v2/24508
http://dotinstall.com/lessons/bbs_php_v2/24509
1) フォームをポストするファイルにトークンを仕込む。
1.トークンを作る
例) $token=sha1(uniqid(mt_rand(),true))
2.サーバ上に記録。
(1) session_start() で、セッションを使えるようにして、
(2) 変数 $_SESSION['token'] にトークンをセット。
3.トークンをデータとともに送信する
formからPOSTで、データとトークンを送り出す
2) データ受取りの処理をするファイルで、
サーバ上の記録と、POSTで受け取ったトークンを比較する。
サーバ上に記録がなかったり、値が異なっている場合は、異常。
if ( empty($_SESSION['token']) || ($_SESSION['token'] != $_POST['token']) )
if ( empty($_SESSION['token']) || ($_SESSION['token'] != $_POST['token']) )
---------------
◆ session_start エラー
エラーメッセージがでた :
Warning: session_start() [function.session-start]: Cannot send session cookie....
session_start() は、必ず、先頭に記述すること。
http://www.phppro.jp/phpmanual/php/ref.session.html
http://www.phppro.jp/phpmanual/php/function.session-start.html
---------------
◆_CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例
徳丸浩の日記 2011年01月27日
http://www.tokumaru.org/d/20110127.html
(本文より)> トークン生成は安全な乱数を用いるべきであり、安全な疑似乱数生成器がない場合は、セッションIDそのものを使う方法が妥当
(コメントより)> 時刻を種にしても安全性はたいして向上しない
---------------
◆CSRF対策の実際
2011年3月4日 23:17
http://www.phppro.jp/qa/3140
answerer:ockeghem 3月7日 09:20
・トークンの要件は、「第三者に推定されないこと」
・セッションID(session_id)は推定されない(ように対策されている)という前提をおくことができます
・トークンとして推測の困難なものを使っている場合、それに加えてハッシュ関数を通す必要はありません
---------------
2016年10月27日木曜日
bracket メモ (ライブプレビューの設定)
◆ライブプレビューの設定
[ファイル]-[プロジェクト設定]
例えば、http://localhost/フォルダ名/ と設定しておけば、
PHPもそのまま、ライブプレヴューできる。
2016年10月21日金曜日
Chrome デベロパーツールのパネルの表示場所
Chrome デベロパーツールのパネルの表示場所
画面下・画面右横・フロート、と選ぶことができます。
デベロパーツールの、設定アイコン(2016年10月時点で、縦に点が3つ並んでいる形)をクリックして、選びます。
2016年10月19日水曜日
blogger 設定のリンク (随時メモ)
ブログ一覧:
https://www.blogger.com/home
ユーザー設定を編集:
https://www.blogger.com/user-settings.g
◆全般
ユーザー プロフィール
Blogger
Google+
Blogger Draft を使用する
◆メール通知
機能のお知らせ
プロフィールを編集:
https://www.blogger.com/edit-profile.g
画像を削除:
https://picasaweb.google.com/home
◆picasaから。
詳しい説明はここを参考に。
http://www.memorou.com/2013/12/bloggerpicasa.html
https://www.blogger.com/home
ユーザー設定を編集:
https://www.blogger.com/user-settings.g
◆全般
ユーザー プロフィール
Blogger
Google+
Blogger Draft を使用する
◆メール通知
機能のお知らせ
プロフィールを編集:
https://www.blogger.com/edit-profile.g
画像を削除:
https://picasaweb.google.com/home
◆picasaから。
詳しい説明はここを参考に。
http://www.memorou.com/2013/12/bloggerpicasa.html
2016年10月12日水曜日
イラストレータで角丸長方形
イラストレータで角丸長方形を描く
編集しやすい描き方
1. 長方形ツールを使う(角丸長方形ツールは使わない)
2. 効果-スタイライズ-角を丸くする
3. 編集するときは、アピアランスで編集(「角を丸くする」で、fxをクリック)
編集しやすい描き方
1. 長方形ツールを使う(角丸長方形ツールは使わない)
2. 効果-スタイライズ-角を丸くする
3. 編集するときは、アピアランスで編集(「角を丸くする」で、fxをクリック)
2016年9月28日水曜日
photoshopを使って、gifアニメを小さくする方法
photoshopを使って、gifアニメの表示サイズを小さくする方法
例えば、400*400pxを、200*200pxにしたいときの方法です。
【1】準備
- gifファイルをphotoshopで開く
2016年9月2日金曜日
ロイヤリティフリー リンク集 (随時更新予定) ☆2016-10-15追記
著作権フリー(*1)素材の探し方。以下、簡単に説明。
1)使用料金:著作権フリー素材には、 有料のものと無料のものがあります。
2)使用条件:著作権フリーとあっても、 必ず使用条件を確認してください。
・商用(非営利目的)利用...可/不可
・編集(改変)...可/不可/程度によって可
・作者やサイトを明記すれば、使用可、など
※ 一番安全なのは、Creative Commons のゼロ (CC0)
・商用(非営利目的)利用...可
・編集(改変)...可
のものです。
3) ネット上での見つけ方
1)使用料金:著作権フリー素材には、
2)使用条件:著作権フリーとあっても、
・商用(非営利目的)利用...可/不可
・編集(改変)...可/不可/程度によって可
・作者やサイトを明記すれば、使用可、など
※ 一番安全なのは、Creative Commons のゼロ (CC0)
・商用(非営利目的)利用...可
・編集(改変)...可
のものです。
3) ネット上での見つけ方
2016年5月29日日曜日
MS-officeのマニュアルを英語で読みたい時
MS-officeのマニュアルを英語で読みたい時
ほとんど日本語で問題ないのですが、時々英語にしたくなるので。
メモ。
https://msdn.microsoft.com/ja-jp/library/office/ee861523.aspx
「ja-jp」を、「en-us」 に書き換える
逆もまたOK。翻訳がある場合に有効。
2016年5月4日水曜日
エクセルにフォームをつける Part II (01)- vbaプログラミング:[次行][前行]をつける、変数を使う
フォームの機能を増やす(その1) [次行][前行]をつける、変数を使う。
※前回の内容は→ Part I (04)です。前回終了時点のサンプルファイルはここにあります→ 右クリックでここからダウンロードできます(ファイル名sample04.xlms)
PartIの、VBAの規則(文法)は2つでした。
◆ プログラムは、Subで始まりEnd Subで終わるプロシージャの中にまとめて書く。
◆ セルやフォーム上のオブジェクトの書き方は
・シート上のセルは、WorkSheet("シート名").Cells(行,列)で表す。
・フォーム上のオブジェクトは、オブジェクト名をつけて使う。
PartIIでは、プログラム特有の『変数』『ループ構文』『コメント』などを使って、作りこんでいきます。
今回(Part2の第1回)は、「次へ」「前へ」ボタンをつけて、行を移動できるようにします。
このときに『変数』という考え方を使います。
2016年4月20日水曜日
Excel VBA : 数値をゼロ埋めして文字列にする
Excel VBA : 数値をゼロ埋めして文字列にする
超★手抜きの方法です。
例)数値 12 を、3桁の文字列 012 にする
dim i as integer
dim s as string
i = 12
s = Mid( LTrim(Str(1000 + i)), 2, 3)
1. 数字を 「12」2. 数字を4桁にするために、1000を加える → 「1012」
3. str関数で文字列にする → 文字列「 1012」 になる
4. str関数は一番左に符号用のスペースが入るので、LTrimでとる → 文字列「1012」
5. Mid関数で、2文字目から3桁切り出す → 文字列「012」
5桁の0埋めにしたければ、100000を加えて、2文字目から5桁切り出せばOKです。
2016年4月18日月曜日
excelでセルに色を付ける (他のセルの条件に対応して色をつける): 条件付き書式を使う場合
やりたいこと:セルに色をつける
★ここでは、R1C1形式でExcel表を使っています。
(列番号を、ABCではなく、数字で表示する形式)
私はアルファベットネイティブではないので、ABCでは直感的に並びがわかりません。
なので、いつもR1C1形式で使っています。
今回は、条件付き書式を使いました。(列番号を、ABCではなく、数字で表示する形式)
私はアルファベットネイティブではないので、ABCでは直感的に並びがわかりません。
なので、いつもR1C1形式で使っています。
ここで、やったことは、2つ
その1) セルが、特定の文字を含んでいたら色をつけたい。
その2) 隣のセルが、特定の文字を含んでいたら、色をつけたい。
2016年3月21日月曜日
windows のゴミ箱
windows のゴミ箱
windows7です。
・ windowsの「ゴミ箱の常識」(と言ってよいと思うのですが)
通常、[削除] すると、まずゴミ箱に入って、あっまずいと思ったら、後から取り出すことができます。そして、完全に削除するには [ゴミ箱を空にする] を実行します。
・ ゴミ箱を入れずに、即座に完全に捨てる時は、 Shift + [Delete]
2016年3月18日金曜日
白地図的なものが欲しかったので、Styled Maps Wizardを使った
白地図的なものが欲しかったので、Styled Maps Wizardを使った。
白地図といっても、完全に真っ白じゃなくて、地名とかは残しておきたい。
目的は、マップのお店などのマーカーを非表示にして、自分のマークで書き込むこと。
Wizardがいることがわかったので、頼ることにしました。
1)魔法使いの名前は、「Styled Maps Wizard」
URL:http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/wizard/index.html2016年2月29日月曜日
パワーポイントのガイドを表示する
パワーポイントのガイドを表示する
画面にガイドが一つもないときに、表示させる方法1) 画面にガイドが1本もない状態
→ (確認) [表示] の ルーラー/グリッド線/ガイド をみても、すべてチェックが入っている2) [ガイド]のチェックを外して、もう一度入れる
2016年2月22日月曜日
Excel: セルの高さを自動調整したら、文字が切れる
【Excel: セルの高さを自動調整したら、文字が切れる】
◆ 前提: セルの書式設定 - [配置]タブ - 文字の制御 - 折り返して全体を表示する
2016年2月2日火曜日
windows7 関連付け
関連付けの変更
1) コントロールパネル-プログラム
-既定のプログラム-ファイルの種類またはプロトコルのプログラムへの関連付け
→ 拡張子のリストが出る
2) 拡張子を選んで、「プログラムの変更」をクリック
→ プログラムの選択画面が出る
3) 関連付けしたいプログラムを選択してOK
→ 変更後の、拡張子のリストが出るので、2)から繰り返す。
※ Opera のアイコンを Chrome に戻したかった。
拡張子のリストの、項目「説明」をクリックすると、説明でソートできる。
「Opera Web Document」 を探して、一つ一つ変更していった。
.crx .nex .opdownload の3つは、上記2)のリストにoperaしかいなかったので、放置。
([参照]から探して変更する必要はないと思ったので。)
1) コントロールパネル-プログラム
-既定のプログラム-ファイルの種類またはプロトコルのプログラムへの関連付け
→ 拡張子のリストが出る
2) 拡張子を選んで、「プログラムの変更」をクリック
→ プログラムの選択画面が出る
3) 関連付けしたいプログラムを選択してOK
→ 変更後の、拡張子のリストが出るので、2)から繰り返す。
※ Opera のアイコンを Chrome に戻したかった。
拡張子のリストの、項目「説明」をクリックすると、説明でソートできる。
「Opera Web Document」 を探して、一つ一つ変更していった。
.crx .nex .opdownload の3つは、上記2)のリストにoperaしかいなかったので、放置。
([参照]から探して変更する必要はないと思ったので。)
2016年1月13日水曜日
エクセルにフォームをつける Part I (04)
エクセルのデータ表で、フォームを作って操作する(その4) フォームに入力したデータを、セルに書き込む・他
※前回の内容は→ Part I (03)です。 です。前回終了時点のサンプルファイルはここにあります→ 右クリックでここからダウンロードできます(ファイル名sample03.xlms)
前回は、編集・入力したい行をクリックしてフォームに表示できるようにしました。またフォームに[閉じる]ボタンを作成して、クリックするとフォームが閉じるように作りました。
今回は、[セルに書き込む]ボタンをフォームに作成し、クリックで、入力したデータをセルに書き込めるようにします。また、フォーム上のオブジェクトを揃えたり、使いやすくします。
(4-1)フォームに「セルに書き込む」ボタンを作る ----------
2016年1月12日火曜日
エクセルにフォームをつける Part I (03)
エクセルのデータ表で、フォームを作って操作する(その3) フォームに、クリックした行を表示。閉じるボタンを作る
※前回の内容は→ Part I (02)です。 です。前回終了時点のサンプルファイルはここにあります→ 右クリックでここからダウンロードできます(ファイル名sample02.xlms)
前回(その2)では、5行目のデータを表示しました。
今回は、自由に、クリックした行をフォームで表示します。また、フォームに[閉じる] ボタンを作ります。
エクセルにフォームをつける Part I (02)
エクセルのデータ表で、フォームを作って操作する(その2)フォームにデータを表示
※前回の内容は→ Part I (01)です。 です。前回終了時点のサンプルファイルはここにあります→ 右クリックでここからダウンロードできます(ファイル名sample01.xlms)
今回は、シート上のボタンをクリックすると、5行目のデータが表示されるようにします。
(2-1):シート上に、フォームを表示するボタンを作る。 ----------
2016年1月10日日曜日
エクセルにフォームをつける Part I (01)
エクセルのデータ表で、フォームを作って操作する(その1)準備~フォームの表示
データの整理には、エクセルの表を使うとわかりやすくて便利です。でも、たくさんの項目が横に並ぶと見づらくなるので、そういう時にフォームを作ります。カード型のフォームを作ると、内容を一目で見ながら入力編集できるし、入力チェックや書式の統一なども自由に設定できて、望み通りの使い方ができるようになります。フォームは、エクセルのプログラム機能を使って作ります。エクセルには、VBAというプログラム言語が装備されていて、すぐに始めることができます。
サンプルを使ってその作り方を書いていきます。プログラムになじみのない人向けです。ちょっと作れるようになると、とても仕事がはかどるので、興味のある人はどうぞ。
2016年1月8日金曜日
htmlで 表を作るのに、excelを利用する(手でスクラッチするときに)
htmlで 表を作るのに、excelを利用する
<table><tr><td></td><td></td></tr></table>を、手で入力しようという人向けの「生活の知恵」です。【用意するもの】
1. Excel(バージョンはなんでもよいです)2. テキストエディタ(正規表現で検索置換できるもの)
2016年1月7日木曜日
highlight.jsを使って、ソースコードをサイトに記述する(CDNで)
highlight.jsを導入して、ソースコードをサイトに記述する
highlight.js : ソースコードを、サイトに記述するときに、使います。使い方は2種類:
・ダウンロードしてインストール
・ネットにつながっている場合...CDN で配信されているのでコードを貼り付けるだけ
CDN 【 Contents Delivery Network 】 コンテンツデリバリネットワーク。ファイルサイズの大きいデジタルコンテンツをネットワーク経由で配信するために最適化されたネットワークのこと (e-wordsより http://e-words.jp/w/CDN.html)今回は、CDNを利用します。
2016年1月6日水曜日
facebook 投稿のバックアップ
Facebookに投稿した内容(写真・メッセージ・コメント他)をバックアップする
ダウンロードしたファイルの中をみたら、すっきりしていて見やすく、自分の投稿の検索もできて、予想外に便利でした。以下は、PC上・ブラウザ上で行う操作です。(
FacebookのヘルプのURL→ https://www.facebook.com/help/212802592074644
2016年1月3日日曜日
pushbullet 使いました。思った以上に便利でした。
(2015年9月26日にduf20.comにアップした記事を、こちらに転記)
- ●pushbulletって、なに
USBを使う。メールで送る。クラウドドライブ使う。いろいろ。
pushbulletは、簡単に快適に、ファイルのやりとりができるアプリでした。
登録:
投稿 (Atom)
BloomというAI
オープンソースのAI「BLOOM」が出ました。 日本語も使えるというので、早速サンプルページで遊びました。 白い文字が私。ピンクの文字がAI。 ↑AIとやりとり できたのが、これ。AIとの合作超短編童話😆 『 傘をさして公園を歩いていたら、小さなリスが足...
-
イラストや写真に、雪のアニメーションを付け加えます。Sqirlz Water Reflections というフリーのアプリを使いました。以下、簡単な忘備録。 Sqirlz Water Reflections : 写真に、波打つ水面や雪・雨のアニメーションを加えるフリーアプリ ...
-
オープンソースのAI「BLOOM」が出ました。 日本語も使えるというので、早速サンプルページで遊びました。 白い文字が私。ピンクの文字がAI。 ↑AIとやりとり できたのが、これ。AIとの合作超短編童話😆 『 傘をさして公園を歩いていたら、小さなリスが足...