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) データ受取りの処理をするファイルで、
  サーバ上の記録と、POSTで受け取ったトークンを比較する。

  サーバ上に記録がなかったり、値が異なっている場合は、異常。
  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

2016年10月12日水曜日

イラストレータで角丸長方形

イラストレータで角丸長方形を描く


編集しやすい描き方

1. 長方形ツールを使う(角丸長方形ツールは使わない)

2. 効果-スタイライズ-角を丸くする

3. 編集するときは、アピアランスで編集(「角を丸くする」で、fxをクリック)

2016年9月28日水曜日

photoshopを使って、gifアニメを小さくする方法

photoshopを使って、gifアニメの表示サイズを小さくする方法


例えば、400*400pxを、200*200pxにしたいときの方法です。


【1】準備

  1.  gifファイルをphotoshopで開く

2016年9月2日金曜日

ロイヤリティフリー リンク集 (随時更新予定) ☆2016-10-15追記

著作権フリー(*1)素材の探し方。以下、簡単に説明。

 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形式で使っています。
今回は、条件付き書式を使いました。

ここで、やったことは、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.html
001

2016年2月29日月曜日

パワーポイントのガイドを表示する

パワーポイントのガイドを表示する

画面にガイドが一つもないときに、表示させる方法

1) 画面にガイドが1本もない状態

→ (確認) [表示] の ルーラー/グリッド線/ガイド をみても、すべてチェックが入っている
001

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しかいなかったので、放置。 
([参照]から探して変更する必要はないと思ったので。)




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上・ブラウザ上で行う操作です。(2016年01月06日時点)(2018年03月10日変更)
FacebookのヘルプのURL→ https://www.facebook.com/help/212802592074644

2016年1月3日日曜日

pushbullet 使いました。思った以上に便利でした。

(2015年9月26日にduf20.comにアップした記事を、こちらに転記)
●pushbulletって、なに

持っているスマホやノートパソコンやPC。ファイルを移す時どうします?
USBを使う。メールで送る。クラウドドライブ使う。いろいろ。
pushbulletは、簡単に快適に、ファイルのやりとりができるアプリでした。

BloomというAI

オープンソースのAI「BLOOM」が出ました。 日本語も使えるというので、早速サンプルページで遊びました。 白い文字が私。ピンクの文字がAI。 ↑AIとやりとり できたのが、これ。AIとの合作超短編童話😆 『 傘をさして公園を歩いていたら、小さなリスが足...