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개
게시글 목록
| 번호 | 제목 |
|---|---|
| 16801 | |
| 16798 | |
| 16796 | |
| 16795 | |
| 16791 | |
| 16790 | |
| 16785 | |
| 16777 | |
| 16776 | |
| 16766 | |
| 16760 | |
| 16759 |
JavaScript
전화번호 및 휴대번호 자동하이픈(-)
2
|
| 16740 | |
| 16737 | |
| 16735 | |
| 16728 | |
| 16713 |
PHP
PHP Router
17
|
| 16700 | |
| 16691 | |
| 16669 | |
| 16668 |
MySQL
특정 row의 index 값 구하기
5
|
| 16660 | |
| 16655 | |
| 16654 | |
| 16647 | |
| 16639 | |
| 16637 | |
| 16634 | |
| 16629 | |
| 16620 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기