讓我先說Javascript並不是我的強項,並且我爲這個主題的信息所做的所有搜索都導致瞭如何處理url編碼/解碼字符串。防止Javascript解碼編碼的HTML
我有一些代碼的麻煩類似以下內容:
<a href="#" onclick="<?php echo "alert(''');"; ?>">test</>
我預計,由於值傳遞給警報URL編碼,即點擊鏈接時,會顯示一個提示框其中值爲'
。
事實證明,因爲它位於onclick的引號之間,所以瀏覽器在執行之前將'解碼爲單引號。基本上導致代碼是alert(''');
,這顯然破壞可怕。
以下工作正常。
<script>alert(''');</script>
首先,有沒有辦法來禁用這種行爲或聰明的解決方法? (我猜不是)
我目前的解決方案是解碼html編碼的字符串,應用斜槓引號,然後重新編碼它。顯然不是很優雅。
更好的解決方案將不勝感激。
我實實在在地感受到那種如果密被提醒有關'htmlspecialchars'。這是一天結束,我缺乏caffine。乾杯。 – Leigh 2012-02-29 17:16:03