2013-02-19 122 views
0

我爲我的網站使用PHP和Jquery。 有時候我應該用jQuery做一個ajax請求。例如我有產品列表和一個按鈕來刪除單個產品。這意味着我想要產品ID用ajax刪除它。因此,要獲取產品ID,我會將其存儲到html標籤屬性中。 但我認爲「添加數據轉換成HTML標記屬性是不安全的。 你想什麼,有一個很好的方法,這樣做?將動態數據添加到html標記屬性和ajax中

+0

您是否在談論使用數據屬性來存儲產品ID?例如。安全性只適用於確保您傳遞給ajax調用的產品ID已過濾/驗證。 – gunnx 2013-02-19 09:38:07

+0

Magento有一個很好的方法來處理它。不要在阿賈克斯推id。使用一些可以在您的應用程序中唯一定義您的產品的slu slu。有slu is一點安全 – 2013-02-19 09:39:25

+0

@BhavikShah它沒有任何機會。安全性是[授權](http://symfony.com/doc/current/book/security.html)的一個問題,如果你沒有把你的資源放在防火牆後面,那麼依靠查詢字符串或路由段落:例如Rails對於將參數傳遞給任何路由的表單是不可知的。 – moonwave99 2013-02-19 09:44:15

回答

1

沒有理由爲什麼你不能只使用HTML屬性標記,如ID或data-id(或你選擇的數據標籤名稱)。安全性來自你如何提交和處理ajax請求。只要確保你清理SQL查詢或任何命令到你正在使用的任何類型的數據庫,並且你應該避免任何安全問題

用戶將無法從他們的瀏覽器進行成功的ajax調用,因爲ajax調用必須來自服務器才能成功。換句話說,使用html標籤屬性一點也不安全,可能是一個處理這個問題的好方法。

+0

謝謝@Handeca – 2013-02-19 09:50:01

0

woory沒有理由。您可以使用html id屬性。發送ajax請求時,它已經使用您的網站url加密。另外如何管理你的ajax請求。

我會建議使用jquery ajax

那就是做一個乾淨的Ajax調用最簡單的方法。在後端,您可以對變量進行santize。 例如: -

$firstName = $_POST['fname']; 
$new_string = filter_var($firstName,FILTER_SANITIZE_STRING); 

希望這可以解決您的問題。

相關問題