2011-09-25 53 views
0

插入看起來是這樣的安全字符串插入HTML:使用JavaScript

a_span.innerHTML() = input.value

爲了防止任何形式的PHP攻擊我用htmlspecialchars。我應該使用this 進行保護還是使用本地escape就足夠了?

+1

如果您的更新仍然是客戶端,我看不出爲什麼您需要轉義輸入。但是,當服務器端被sumbited時,你應該逃脫,並且你需要執行輸入(例如爲表更新) – JMax

+0

更新仍然是客戶端,但是如果用戶輸入一些特殊的字符,他會打破布局,並且它會是一個錯誤 – Dan

+0

是的,我認爲@JMax是正確的,不必擔心attacjs – Dan

回答

1

首先,我假設你打算寫a_span.innerHTML = input.value,因爲innerHTML不是函數。

其次,如果您擔心文本被解釋爲HTML實體,則應該使用document.createTextNode()而不是innerHTML。像a_span.innerHTML="";a_span.appendChild(document.createTextNode(input.value));應該工作正常。