Windowsトラブルシューティング


画像ファイルを持っていかれないようにする方法

インターネットで公開している以上、絶対に画像を持っていかれない方法はない。

ここで紹介するのは、画像を持っていきにくくして、知識の乏しい人なら画像の持ち出しを諦めるだろう方法。そして簡単な実装できる方法を選んだ。

1.baseタグで基準となるURLを設定する

baseタグは、相対パスで書かれたURLの基準を指定するもの。

もしページのソースを見られたら画像の場所がわかってしまう。

絶対パス
----------------------------
<img src="http://example.com/image2001/image01.jpg">
----------------------------

相対パス
----------------------------
<img src="image2001/image01.jpg">
----------------------------

上の二つどちらも、画像ファイルは「http://example.com/image2001/」の中にあると読める。

そこでbeseタグを使うと画像ファイルの場所を少し分かりにくくできる。

headタグの間にbaseタグを記述する
----------------------------
<base href="http://example.com/image2001/">
----------------------------

すると「image2001フォルダ」までが基準になるのでimgタグへの記述は下記のようになる。

相対パスで
----------------------------
<img src="image01.jpg">
----------------------------

「image2001」の記述を省略できるのでimgタグ内だけを見ても画像の場所が分からなくなる。

2.baseタグはjavascriptで隠す。

imgタグだけを見ても画像ファイルの場所は分からないが、headタグ間に記述したbaseタグを見ると分かってしまう。
そこでbaseタグはheadタグ間に書かずに、外部ファイルとしてjavascriptで書くとよりいい。

外部ファイルとして読み込む
----------------------------
document.write('<base href="http://example.com/image2001/">');
----------------------------

参考

http://www.broadband-xp.com/hidesource/base.html

3.右クリックを無効にする

これまでの実装でソースを見ても画像ファイルの場所をわかりにくくすることは出来るが、画像自体を右クリックすれば画像のURLも分かるし、保存も出来てしまう。

そこで右クリックを禁止する。

bodyタグ内に記述
----------------------------
<body onContextmenu="return false">
----------------------------

これだと右クリックは防げるがデスクトップへドラッグすれば保存できてしまう。
そこでjquery.dwImageProtector.jsというjqueryのプラグインを使う。

使い方はこちらこちらが分かりやすい。

http://www.css-lecture.com/log/javascript/dwimageprotector.html

jquery.dwImageProtector.jsのソースはこんな感じ
---------------------------------------------------------
jQuery.fn.protectImage = function(settings) {
settings = jQuery.extend({
image: 'blank.gif',
zIndex: 10
}, settings);
return this.each(function() {
var position = $(this).position();
var height = $(this).height();
var width = $(this).width();
$('<img />').attr({
width: width,
height: height,
src: settings.image
}).css({
border: '1px solid #f00',
top: position.top,
left: position.left,
position: 'absolute',
zIndex: settings.zIndex
}).appendTo('#content')
});
};
---------------------------------------------------------

head内のソースはこう
---------------------------------------------------------
<script src="http://example.com/js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="http://example.com/js/jquery.dwImageProtector.js" type="text/javascript"></script>
<script type="text/javascript">
$(window).bind('load', function() {
$('img.protect').protectImage();
});
</script>
---------------------------------------------------------

保護するイメージには class を設定する
---------------------------------------------------------
<img src="image01.jpg" alt="" width="500" height="500" class="protect" />
---------------------------------------------------------

画像を囲む枠がずれる場合は「.appendTo('body')」の部分をbodyでなく任意の場所に変更すればうまくいく。

Windows7のHDD交換 & 再インストールおぼえ書き

Windows7の調子が悪いので、HDDの交換と再インストールを実施。その時のおぼえ書き。

今回は、再インストール前のWindowsの設定は引き継がない。重要データは外付けHDDに移動させて、まっさらな状態のWindowsをつくる。

1.
大事なデータを移動させたら、PCの電源を切ってコンセントを抜く。
放電時間として数分待ったら、HDDを新品と交換して、PCの電源をオン。

2.
UEFI(BIOS)が立ち上がるのを確認。
インストール用のWindowsディスクを読み込むために、外付けDVDを接続。
認識させるために電源ボタンを押して、再起動。認識できていること、起動順位が一番であることを確認したら、電源オフ。
インストール用のWindowsディスクを入れて、再起動。Windowsのインストールが始まる。

3.画面の指示に従ってユーザー名やシリアルコードを入力。途中で出てくるパスワードは空欄でもOK。Windowsのインストールを完了させる。

4.解像度の調整やLANポート利用のために、マザーボードのドライバをインストールする。付属のDVDを使用。

以上でWindows7の再インストール完了。

Windowsを再インストール後にすること

1.Windows Updateで最新の状態に更新
2.Microsoft Security Essentials をインストール。
3.IEのバージョンアップ。
4.電源管理の変更。(「コントロールパネル」-「電源オプション」-「プラン設定の編集」)
5.Google tool barをインストール。
6.IPアドレスを固定化する(「コントロールパネル」-「ネットワークと共有センター」-「アダプターの設定変更-」アイコンを右クリックして「プロパティ」-IPバージョン4を選択して「プロパティ」)

IPアドレスが競合して「インターネットアクセス なし」になったときの対処法

Windows7の再インストールをして、固定IPを設定するときに、あやまって使用済みのIPアドレスを設定してしまった。その後、IPアドレスを指定し直したが、「インターネットアクセス なし」の状態からなかなか苦労したので、その時のおぼえ書き。

そもそも、固定IPの設定方法


1.「コントロールパネル」-「ネットワークと共有センター」-「アダプターの設定の変更」
2.ローカルエリア接続のアイコンを右クリックでプロパティ
3.インターネットプロトコル バージョン4(TCP/IPv4)を選択して「プロパティ」
4.出てきたウインドウ内に希望のIPアドレスを入力する。

IPアドレスを設定しなおしたことで、LANアダプタにIPアドレスが二つ以上割り当てられていたら


「ipconfig/all」でこんな状態になっていたら

cmd2

同じ物理アドレスに三つの異なるIPアドレスが設定されている。

固定IPアドレスは、いくつでも設定できてしまうので不要なIPアドレスは削除する。

削除するには、
1.「コントロールパネル」-「ネットワークと共有センター」-「アダプターの設定の変更」
2.ローカルエリア接続のアイコンを右クリックでプロパティ
3.インターネットプロトコル バージョン4(TCP/IPv4)を選択して「プロパティ」

4.プロパティを開いたら、「詳細設定」をクリック。出てきたウインドウの「IPアドレス」の場所に複数の固定IPが設定されているはずなので、不要なものを削除する。

cmd3

IPアドレスを変更して再接続するには


IPアドレスの変更が思ったようにいかない場合は、IPアドレスを変更したり、無効と有効を繰り返すとうまくいく場合がある。

IPアドレスを一時的に変更する手段として、IPアドレスを固定から自動に変えるには「IPアドレスを自動的に取得する」と「次のIPアドレスを使う」を切り替えて「OK」する。

cmd4

IPアドレスの無効と有効を切り替えるには、「インターネットプロトコル バージョン4(TCP/IPv4)」の前のチェックボックスをつけたりはずしたりする。

cmd5

自分自身のMACアドレスを調べる

コマンドプロンプトで下記のコマンドを実施

------------------------------------
getmac
------------------------------------

windows7でarpのキャッシュを削除する(管理者権限のあるコマンドプロンプトの出し方)

コマンドプロンプトから、「arp -d」を実行するとarpキャッシュを削除できる。
だが管理者権限のないコマンドプロンプトではエラーが出る。

cmd

ARP エントリを削除できませんでした: 要求された操作には管理者特権が必要です。

管理者権限をつけるには、

1.「スタート」-「すべてのプログラム」-「アクセサリ」
2.「コマンドプロンプト」を右クリックして、「管理者として実行」をクリック。

新しく出たコマンドプロンプトのウインドウで「arp -d」を実行すればうまくいく。

参考サイト

ARPとは、
ARP(Address Resolution Protocol) → 与えられたIPアドレスからMACアドレスを求めるためのプロトコル。
※resolution(レゾリューション) → 決心する。解決する。分析する。解像度。(resolve の名詞形)

arpコマンドは、ARP(Address Resolution Protocol)テーブルの表示/設定を行う。

ARPテーブル → イーサネット通信のために用いられるIPアドレスとMACアドレスの対照表。

windows7も動作が遅くなったとき、チェックディスクを行った

windows7も動作が遅くなったとき、チェックディスクを行ったので覚書。

IEやその他のアプリケーションを立ち上げるのに2分も3分もかかる状態になった。
HDDが原因の可能性も考えて、チェックディスク(旧スキャンディスク)を行った。
その結果、のろのろした動作が直った。

やり方
------------------------------------------------------
HDDのアイコンを右クリックで「プロパティ」 → ツールタブ → エラーチェックの「チェックする」をクリック。

チェックディスクのオプションの「ファイルシステムエラーを自動的に修復する」「不良セクターをスキャンして、回復する」の二項目にチェック。

「開始」をクリックして再起動すると実行される。
------------------------------------------------------

そのとき出たメッセージ
windows replaced bad clusters in file 12345 of name \windows\ファイルパス\ファイル名.


ウインドウズは、『\windows\ファイルパス\ファイル名』のファイルの12345の不良クラスタを置き換えました
(同じようなメッセージがいくつか出た)

bad clusters → 不良クラスタ

セクター → HDDに書き込まれるデータの単位。(たいてい512バイトに固定)
クラスター → セクターが四個集まったもの

チェックディスク(スキャンディスク) → ハードディスク上で破損しているファイルを調査して修復をしてくれる作業。