2017-02-23 80 views
0

我寫了script,它可以執行從服務器通過ajax接收的代碼。我不知道有人會利用它嗎?我需要添加一個檢查,請求是針對同一個域嗎?運行通過ajax接收的代碼是否安全?

+0

當你在執行客戶端時,客戶端可以100%地控制你發送的內容。問題是,您的數據是否受到保護? – Mistalis

+0

使用eval是個壞主意:( –

+0

@Mistalis我怎麼能保護?不知道這個 – ArtyGrand

回答

0

從理論上說,客戶端信任您提供的數據,包括您的應用程序中的代碼以及動態客戶端通過Ajax獲取的數據。 如果有人設法欺騙您的服務器或執行中間人攻擊並可能開始發送惡意代碼,則可能會出現問題。 我的建議是 - 如果你懷疑是否有人可以利用它,這很可能是可以利用的,因爲你不知道你在做什麼。人類 - 不要這樣做。

0

你應該保護通過AJAX發送的代碼,所以它不會被篡改。

該代碼可以用不同的方式保護。例如HTTPS。自定義加密也可以用於例如Base64編碼。

+0

你能提出任何方法來使用php上的密鑰進行加密,並在js上進行解密嗎?Base64在這裏不適合我想 – ArtyGrand

+0

好的base64編碼是由php和javascript原生支持的。 btoa用於編碼和解碼base64字符串(https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/atob).php提供base64_encode和base64_decode函數。http://php.net/manual /en/function.base64-encode.php –