'*'에 해당되는 글 3건

  1. 2009.07.15 CSS hack 정리
  2. 2009.07.15 css 초기화
  3. 2009.07.13 PHP 패스워드의 반절 이상은 *로 표시
프로그램/html,css2009. 7. 15. 22:22

[css-tip]CSS hack 정리
다양한 브라우저와 브라우저의 버그를 이용하여 특정 브라우저에만 css를 적용하는 것을 "CSS 핵"이라고 한다. 크로스브라우징을 위해 사용을 하고 있지만 사용하지 않고 구현하기를 권장한다.

css 핵은 사용하지 않는 것이 좋다.
새로운 브라우저가 생겼을 경우나 기존 브라우저의 버전 변경시 다시 손을 봐야 하는 경우가 생길 수도 있으며 css 문법상 올바르지 않는 것도 있을 수 있고 무엇보다 크로스브라우징, 웹 표준에 맞지 않아 올바른 CSS 라고 볼 수가 없다.

스타핵 (star hack)
셀렉트 앞에 * 을 붙히며 Win IE 4~7 에만 적용(IE8, FF에는 적용 안됨)
예> P { padding:3px; *padding:0px; } /* IE8, FF는 padding:3px, IE4~7는 padding:0px 적용 */

셀렉트 앞에 *html  을 붙히며 Win IE 4~6, Mac IE 4~5 에만 적용
예> * html p { padding:3px; } /* 맨앞에 *html 을 붙힌다. */

언더스코어 핵 (underscore hack)
속성의 가장 앞부분에 언더스코어(_)를 붙이며 Win IE 4~6에만 적용
예> p { _padding:3px; } /* padding 앞에 _ 를 붙힌다. */
 
해시 핵 (hash hack)
속성의 앞에 # 를 붙이며 Win IE 4~6, Mac IE 5, Opera 7, Mozila, Firefox 적용
(CSS의 문법상 속성의 앞에 #를 두는 것은 문법적으로 바르지 않다.)
예> p { #padding:3px; } /* padding(속성) 앞에 #를 붙힌다. */
 
스타 7 핵 (star 7 hack)
셀렉트 앞에 html* 를 붙이며 Win IE 5.5~6, Map IE 5, Safari 에만 적용
(html* 과 선택자 사이에 공백을 두면 안된다.)
예> html*p { padding:3px; }
 
IE7 전용핵
셀렉트 앞에 *:first-child+html 를 붙히며, IE 7에만 적용
예> *:first-child+html p { padding:3px; }
 
사파리용 핵
body:first-of-type
예> body:first-of-type #wrap
 
이밖에도 브라우저 배제를 위한 핵과 박스모델 핵 패스필터 등이 있다.
 
 
소스 예>
style="text-align:left;padding-left:5px;*padding-left:7px;_padding-left:0px;"
 
소스 예 설명> 위 소스 중 padding 부분
[ff,ie8]padding-left:5px;
[ie7]*padding-left:7px;
[ie6]_padding-left:0px;
 
Posted by 은둔고수
프로그램/html,css2009. 7. 15. 22:18

[css-tip]css 초기화

 

초기화를 하지 않는 경우 브라우저마다 버전마다 기본으로 지정되어있는 css를 사용하게되어 크로스브라우징을 구현하는데 문제가 된다.

 

초기화를 하게 되면 모든 브라우저에서 다 공통으로 지정이되므로 크로스브라우징을 구현함에 있어서 권장한다.

 

아래 에를 참고로 본인이 원하는 css 초기화를 구현할 수 있다.

 

예> * 는 전체를 뜻한다.

/* css 초기화 */

*{

  margin:0; /* margin 여백 : 0 */
  padding:0;  /* padding 여백 : 0 */
  border:0;  /* 선 굵기 : 0 */
  background-color:transparent;  /* 배경색상 투명 */
  color:#666; /* 색상 */
  font-size:100%;  /* 폰트 크기 */
  font-weight:normal;  /* 폰트 굴기 */
  font-style:normal;  /* 폰트 모양 */
  text-decoration:none;  /* 폰트 장식 */
}
 
Posted by 은둔고수
프로그램/php2009. 7. 13. 23:27

[php-tip]PHP 패스워드의 반절 이상은 *로 표시

 

회원의 비밀번호를 메일로 전송하게 되는 경우 비밀번호를 그대로 보내주기에는 보안에 너무 취약하다. 회원이 기억할 만할 정도로 일부만 보여주고 나머지는 숨기는 방식이다.

 

그 외 보안에 더 신경을 쓴다면 회원의 비밀번호를 임으로 생성해서 메일로 보낸 후

특정기간내에 임의로 생성한 비밀번호로 로그인해서 비밀번호륻 다시 변경하게 하는 방법이 있다.

 

보다 더 보안에 신경을 쓰고 싶다면

휴대폰 인증을 이용하는 방법과 공인인증서를 이용하는 방법 등이 있다.

 

<?
// 패스워드의 반절 이상은 *로 표시
$password = "1234";
$password_len = strlen($password);
$password_half_len = round(strlen($password)/2);
echo "글자 수=".strlen($password);
echo "<br>";
echo "반절에 해당하는 글자=".round(strlen($password)/2);
echo "<br>";
echo "결과=".str_replace(substr($password,$password_half_len,$password_len), "****", $password);
?>

Posted by 은둔고수