投稿

8月, 2016の投稿を表示しています

fakepath について

2025/03/28 この時期になると定期的にこの記事へのアクセスがあります。 エスパーすると… 新社会人さん!学生さん!がんばれっ! 今日、IE8でテストしていると、ファイルのアップロード時に 「c:\fakepath\aaa.txt」 とフォルダ名が「fakepath」となり、「変だっ!」と指摘された。 そこで調べてみたら、IE8では標準として、<input type="file" />タグは、 ディレクトリが正しく表示されないことがわかった。 で、JavaScriptの ".value" で値を取得した時に「fakepath」のディレクトリ名称が 取得できてしまうらしい。 ネットで調べると皆さん「セキュリティーの設定を直す」や「信頼済みサイトに設定してくれ」と 注意、変更依頼を行っています。 そこで問題です。 なぜ、ファイルパスを JavaScriptの".value"で取得する必要があるのでしょうか? 1.<input type="file" />タグは読み取り専用です。 2.参照ボタンも勝手に付いていて、ブラウザがパスを自動生成します。 という事は「ファイルの存在チェック」や「拡張子チェック」はサーバー側でしか出来ない筈なんですよね。 クライアント側のファイルパスなんてサーバ側では意味ないし… もちろん、VBSなんかを使って無理やりやることは出来ますが… そういう無理やりな要求を出すんだから、「IE8対応」で金を出させるべき(営業ががんばれ)でしょう。 ま、例外はさておき、普通に作っていたら意識しなくて良かったんですよね。 (表示上の問題はさておき…) ちょっと思ったのでメモ程度で… 2022/07/12 定期的にこの記事へのアクセスがあります。 記事から6年経ってますが何でしょう… エスパーすると、上司や顧客から「アップロード前に選択したファイルが正しいか確認したいからパスを出せ!」とか言われてるんじゃないでしょうか。 クライアントPCのフォルダパスを見せるまたは、JavaScript/サーバ側で使える事がセキュリティ上危険だと分かって欲しい物ですね… ...

メモリーリーク調査でわかったことをメモしておこう

イメージ
読み直してみると、読みたくなくなる記事だなwwww なので端的に… 1. Global Flagsを使って設定 2. WinDbgを実行 3. !heap -stat -h 0 4. プロセス実行 5. !heap -stat -h 0 6. 1.と3.の結果を比較 7.!heap -flt s サイズ 8.!heap -p -a アドレス この8手順を踏めば、メモリリークの(おそらく)原因の場所が突き止められます。 さて読みにくい本編です。 外部DLLを使っているので、.NETでおきているのか、外部DLLでおきているのかさっぱり解らなかったが このツールを使ってみると、なんとなーくみえてきた。 で、その使い方と注意事項をまとめてみました。 使ったツール: WinDbg Global Flags ダウンロードファイル:(2012年5月現在) winsdk_web.exe URL:http://msdn.microsoft.com/ja-jp/windows/hardware/gg463009/ 下の方に「Windows 7 バージョンの Debugging Tools for Windows をインストールする」って書いてある所の、「Microsoft Windows SDK for Windows 7 のダウンロード 」をクリックしてDLして下さいな。 ちなみに、WindowsXPが対象じゃない場合は「Windows 8 Consumer Preview バージョンの Debugging Tools for Windows をインストールする」こっちでも良いと思います。 詳しくはネットで調べてね♪ [WinDbg ダウンロード]とかで調べると出てくるはず。 (2016/08/31現在) URL:https://developer.microsoft.com/ja-jp/windows/hardware/windows-driver-kit 「デバッグ ツールの入手」の「Debugging Tools for Windows (WinDbg) を SDK から入手する」 で行ける 8.1 用の古い奴もあるけど、1...

WindowsのDOSプロンプトを指定の場所で開く

イメージ
ココのURLを見て、もしかしてあまり知られてないのか…? と思い記事にしてみる。 http://anton0825.hatenablog.com/entry/2015/11/15/000000 1.エクスプローラのURL部分をクリックし選択する 2.DOSプロンプトの起動コマンド「cmd」を入力する 3.Enterキーを押す 知った時は、驚いた! そしてスゲー便利! お試しあれ… 検索用:Windows DOS プロンプト 起動 指定パス 指定フォルダ 一発移動 面倒 移動方法