不正確的轉義字元
在此 Stack Overflow 問題中 ,使用者 txtechhelp 發現了^
字元的問題,這可能會導致安全問題。
原因
anyInvaildCommand ^
注意:確保插入符號(^
)是最後一個字元! 任何額外的 CR\LF
根本不起作用!
插入符號尋找下一個要轉義的字元。然而,沒有更多的字元可以轉義,所以 cmd
無限迴圈,尋找轉義的字元。在這個迴圈過程中,cmd.exe
會消耗你的計算機記憶體。並逐漸吃掉所有的記憶,讓電腦崩潰。
這個問題可能導致更嚴重的安全問題,因為人們可以將程式碼輸入到已解鎖的計算機中。
解決方案
-
使用內碼表 UTF-16 可以解決這個問題。只有 UTF-8 或 ASCII 才會導致錯誤。
-
確保檔案中有額外的
CR\LF
,或者只是不要在檔案末尾使用插入符號。
額外
這個錯誤似乎在 Windows 10 中得到解決。