這幾天遇到這三個問題,現在簡單的記錄下來。
1、跨域
如我服務器的域名是www.test1.com,我在另一個服務器www.test2.com通過ajax訪問www.test1.com的數據時,就引起跨域的問題,提示錯誤 No 'Access-Control-Allow-Origin' header is present on the...
網上有很多文章,可以搜索下。http://blog.csdn.net/liruxing1715/article/details/18707605 http://twlidong.github.io/blog/2013/12/22/kua-yuan-zi-yuan-gong-xiang-cross-origin-resource-sharing-cors/
jquery已經考慮到了這個問題,在ajax中封裝了應對跨域的方法。參考上面黏出的第一個鏈接,我解決了問題。
2、xxs攻擊 xss表示Cross Site Scripting(跨站腳本攻擊),通過插入惡意腳本,實現對用戶游覽器的控制
假如用戶提交的數據含有js代碼,不做任何處理就保存到了數據庫,讀出來的時候這段js代碼就變成了可執行的代碼,將會產生意向不到的效果。一般用戶提交的數據永遠被認為是不安全的,在保存之前要做對應的處理。這次我就遇到了這個問題,
我提交的內容<script>alert(1111)</script>,或者<a href="www.baidu.com">百度</a>,讀出來的時候,將直接彈出1111,或者百度是有效的超鏈接,這個顯然是不行的。
提交的數據用下面的這個方法過濾一下,可以有效的防范xxs的攻擊:
/* 過濾用戶代碼 */ function security($str){ $str = trim($str); //清理空格 $str = strip_tags($str); //過濾html標簽 $str = htmlspecialchars($str); //將字符內容轉化為html實體 $str = addslashes($str); return $str; }
3、sql注入攻擊 SQL注入攻擊中以SQL語句作為用戶輸入,從而達到查詢/修改/刪除數據的目的
我用的PDO連接,但是如果不用參數綁定的話,是依然可以sql注入的。應該多注意使用綁定參數!