- PR -

javascriptで貼り付け防止できますか。(質問変更)

投稿者投稿内容
Cookie
ベテラン
会議室デビュー日: 2002/11/05
投稿数: 59
投稿日時: 2004-06-07 14:28
わ!ほんとだ。vが入りません。 

単純にkeyCode一覧表で「Ctrl+V」を引っ張ったのですが、
「V」と同じでしたね。失礼しました。
Cookie
ベテラン
会議室デビュー日: 2002/11/05
投稿数: 59
投稿日時: 2004-06-07 14:34
単純なコピペ防止ならこれで十分だと思います。

さらにコンテキストメニューの貼り付けも防止するなら
 onContextMenu="return false;"
を追加すればいいのですが、完璧を求めると
きりがないので(D&Dは出来てしまうし)
皆さんがおっしゃるように注意書きと適度なスクリプトで
組み合わせれば良いのではと思います。
t2
常連さん
会議室デビュー日: 2002/02/11
投稿数: 36
お住まい・勤務地: 茨木-藤沢
投稿日時: 2004-06-07 14:52
永井和彦様

引用:
「できますか?」と聞かれましたので、「(ブラウザによっては)できる」と答えただけですので……。私も個人的にはクリップボードを黙っていじられるのはあまり好ましくないと思います。



了解しました


ところで、クライアントはWindows限定なのでしょうか?
不勉強で、申し訳ないのですが、UNIX系WindowシステムにClipboardはあるのでしょうか?
さらに、JavaScriptを使えないようにしているエージェントは、いいのでしょうか?

なんか重箱の隅をつつくようで、すみません
--
t2

[編集]Windows ⇒ Window に直しました

[ メッセージ編集済み 編集者: t2 編集日時 2004-06-07 15:07 ]
タラン
大ベテラン
会議室デビュー日: 2004/03/17
投稿数: 138
投稿日時: 2004-06-07 16:48
みなさん有難うございます。

if(event.ctrlKey==true && event.keyCode==86) でやってみます。

好ましくないとか言われましたが。。。
上司がやれっていうからしょうがありませんね。 ^^

本当に助かりました。

Cookie
ベテラン
会議室デビュー日: 2002/11/05
投稿数: 59
投稿日時: 2004-06-07 17:47
>>ヒデミさん

KeyCodeの取得方法や数値は属性・ブラウザによって異なるので
すなめりさんや私の記述を元に拡張して下さい。

ついでに、私の勉強のためにですけど、「好ましくない」という理由を
教えていただけると嬉しいです。  参考にします。

投稿多くてすみません。
永井和彦
ぬし
会議室デビュー日: 2002/07/03
投稿数: 276
お住まい・勤務地: 東京都
投稿日時: 2004-06-07 17:47
永井です。

引用:

ところで、クライアントはWindows限定なのでしょうか?
不勉強で、申し訳ないのですが、UNIX系WindowシステムにClipboardはあるのでしょうか?
さらに、JavaScriptを使えないようにしているエージェントは、いいのでしょうか?



クリップボードの内容を参照書き換え出来るUAというのは、私は寡聞にしてWindowsのIE(4以降だったでしょうか?)しか存じません。
#ところで、一般的にはUNIX系からのアクセスよりも先にMacintoshが話題に挙がるのではないかと思ったり……

さて「UNIX系ではどうか?」という件ですが、大抵のウィンドウシステムには各種アプリケーションからアクセス可能な共有領域はあると思います。
#でないと、複数窓を(擬似)並行起動出来る恩恵が減ってしまいますし

ただ、共有領域に対してUA上で動作するJavaScriptからアクセス出来るものというのは、上述のように私は他に聞いたことがありません。
#この方法が広く知れ渡った当初は「セキュリティホールだ!」と話題になったと記憶しています
#参考: http://java-house.jp/~takagi/security/misc/jscript-clipboard/test.html

以上より「共有領域(クリップボード)は存在するが、JavaScriptからはアクセス出来ない」というのが、一般的な状況だと思います。
#WindowsのIEが極端にシェアを握っている状況で、それ以外を指して「一般的」というのは語弊があるかも知れませんが

引用:

if(event.ctrlKey==true && event.keyCode==86) でやってみます。



この方法は良さそうですね。Cookieさんが追記なさっているように「コンテキストメニューの貼り付け」も潰して「一筆書く」のが良いと思います。
#(いわゆる)一般の方々は「C-c C-v」よりも「右クリックから選択」の方が多いでしょうから
##上の「多いでしょう」はただの勝手な推測です

引用:

好ましくないとか言われましたが。。。



好ましくないのは、私が書いてしまった「クリップボードの内容を勝手に書き換えるJavaScript」ですね。
JavaScriptを使った入力補助(不適切な入力の抑制含む)は問題無いと思います。

ただ、まあ、ご存知のようにJavaScriptは有効でないUA等もありますから、入力制限等で全面的にそれに依存するのは危険ですが……。
#常に「JavaScriptが使えない(/OFFの)UAからアクセスしても問題無い」ことを確認なさることをお奨めします

引用:

上司がやれっていうからしょうがありませんね。 ^^



正直、ちょっとこの姿勢はどうかと思わなくもないですが(汗
#この辺り(↓)が関係する話題でしょうか
http://jibun.atmarkit.co.jp/scenter/bbs/viewtopic.php?topic=11290&forum=21
t2
常連さん
会議室デビュー日: 2002/02/11
投稿数: 36
お住まい・勤務地: 茨木-藤沢
投稿日時: 2004-06-08 00:00
永井和彦様
引用:

永井です。


「返答」ありがとうございます、特に誰宛と言うこともない書き込みだったのですが
タイミングが良いのか悪いのか、長々と書いて頂いてすみません

引用:

#ところで、一般的にはUNIX系からのアクセスよりも先にMacintoshが話題に挙がるのではないかと思ったり……


所詮趣味の機械ですから、こちらの話題には関係ないかと...
(固より気にしていませんが)

引用:

さて「UNIX系ではどうか?」という件ですが、大抵のウィンドウシステムには各種アプリケーションからアクセス可能な共有領域はあると思います。
#でないと、複数窓を(擬似)並行起動出来る恩恵が減ってしまいますし


そうですよね、そんなもんですよね
ただ

引用:

ただ、共有領域に対してUA上で動作するJavaScriptからアクセス出来るものというのは、上述のように私は他に聞いたことがありません。
#この方法が広く知れ渡った当初は「セキュリティホールだ!」と話題になったと記憶しています


UAの共有領域へのアクセスが、安全上の問題になっていたとは
勉強不足で知りませんでした

引用:

上司がやれっていうからしょうがありませんね。 ^^


引用:

正直、ちょっとこの姿勢はどうかと思わなくもないですが(汗
#この辺り(↓)が関係する話題でしょうか
http://jibun.atmarkit.co.jp/scenter/bbs/viewtopic.php?topic=11290&forum=21



上司に依存も、Windowsに依存も、危険かも知れません
(またここはJavaのところですし(最近は提携したみたいですが))

基本的に、JavaScript依存も怖いと思いますし
Webシステムも、怖いと思います
だいたいUAをIE限定とか、矛盾かも?
(かと言って、スマートクライアントも敷居が高い?)

とりあえず、ヒデミさんは、そうでもないと思いますが、
言われたコトだけ済まして終わるとか
穴のあるJavaScriptで満足するとか
そうではなくて
本質を見る方が増えるコトを期待します
--
t2(ヒトのコトは言えないワタシですが!)
タラン
大ベテラン
会議室デビュー日: 2004/03/17
投稿数: 138
投稿日時: 2004-06-15 12:56
皆さんのご返答本当にありがとうございます。

JAVAのところでjavascriptの質問をしてお詫び申し上げます。

いまだにNetscapeではやっぱりできないですね。
なんでIEとNetscapeはなかが悪いでしょうT.T

よろしくお願いします。



[ メッセージ編集済み 編集者: ヒデミ 編集日時 2004-06-15 13:23 ]

スキルアップ/キャリアアップ(JOB@IT)