我使用html製作了表單,並使用angularjs將數據發佈到後端。我想在發佈到後端之前轉義html標籤。我該怎麼做呢?從用戶填寫的表格清理或轉義html標籤
如果示例用戶帖子像
<p> hello world </p>
應該被髮送到服務器一樣
<p> hello world </p>
我使用html製作了表單,並使用angularjs將數據發佈到後端。我想在發佈到後端之前轉義html標籤。我該怎麼做呢?從用戶填寫的表格清理或轉義html標籤
如果示例用戶帖子像
<p> hello world </p>
應該被髮送到服務器一樣
<p> hello world </p>
ngSanitize應該做的伎倆。請參閱link
這裏有一種方法可以從客戶端進行。
var app = angular.module('app',[]); app.controller( 'myCtrl',[ '$範圍',函數($範圍){
$scope.htmlText = "<p> Let's see</p>";
$scope.htmlEncode = function(){
var safeString = $('<div>').text($scope.htmlText).html();
// if you don't have jquery the use the following
//safeString = $scope.htmlText.replace('<', '<').replace('>', '>');//and so on for other html special characters.
alert(safeString);
};
}]);
我想在發送到後端時轉義字符串。 – Hacker
我不確定你要發佈的內容。我假設你期待在你的輸入字段的HTML,如果是這樣的話[查看發佈的問題](http://stackoverflow.com/questions/25940681/angularjs-strip-html-filter-on-ng-options) – SadiRubaiyet
(現在的問題是在自答案更新到不同的區域)不建議
使用PHP Sanitize Filters在服務器端過濾用戶輸入。
使用在客戶端的任何衛生工具,因爲該腳本可以被修改,以igno由惡意用戶來重新制作。
理想情況下,它應該在服務器端完成。如果我想在客戶端做。我該怎麼做? – Hacker
在自定義表單驗證器中使用$ sanitize。 –
你不應該信任客戶端(JS)這種類型的任務 –