javascript나 nodejs 에서 따옴표와 같은 특수기호들은 해커들이 SQL 인젝션에서 자주 사용되군 합니다.
때문에 이러한 특수글짜들이 포함된 문자열을 디비에 넣거나 웹브라우저에서 현시할때에는 무의미성 기호로 처리하는것이 중요합니다. PHP에서는 htmlspecialchars(); mysql_real_escape_string() 등이 특수글자를 안전하게 처리하면서도 PDO을 사용해서 디비에 쿼리를 실행할때 파라미터로 바인딩하는 보안로직을 심어주어 해결합니다.
[code]
function escapeHTML (str) {
var val = '';
if(typeof str === 'undefined') val = '';
else {
if(typeof str === 'string'){
val = str.replace(/\0/g, '').trim();
} else {
val = str;
}
}
return (function() {
var entityMap = {
"&": "&",
"<": "<",
">": ">",
'"': '"',
"'": ''',
"\\": '\\\\'
};
return String(val).replace(/[&<>"'\\]/g, function (s) {
return entityMap[s];
});
//};
})();
};
[/code]
그누보드에서도 특수글자처리를 위한 제나름의 보안로직이 있습니다. 그저 사용자들이 잘 알고, 개발자들이 이 함수도 이용하면 감사할뿐입니다.
댓글 10개
게시글 목록
| 번호 | 제목 |
|---|---|
| 16893 | |
| 16890 |
PHP
DB 세션 핸들링
2
|
| 16889 | |
| 16888 |
node.js
c++로 만들어진 코드를 바인딩하기
1
|
| 16887 |
node.js
express이용하여 간단하게 api 서버 만들기
1
|
| 16886 | |
| 16885 |
node.js
Mac os에서 nvm + node 설치편
|
| 16884 |
node.js
nvm설치 + nodejs 설치
|
| 16883 | |
| 16882 | |
| 16881 | |
| 16880 | |
| 16871 | |
| 16870 | |
| 16868 |
OS
opendkim 설치
|
| 16863 | |
| 16861 | |
| 16856 | |
| 16852 | |
| 16834 | |
| 16833 | |
| 16829 | |
| 16827 | |
| 16826 | |
| 16823 | |
| 16822 | |
| 16819 | |
| 16818 | |
| 16817 | |
| 16806 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기