<?
$a=strtotime ("2005-07-09");
echo $a;
echo date('Y-m-d',$a);
?>
'공부/와니의가르침'에 해당되는 글 57건
- 2009/05/09 데이트형식을 타임값으로 바꾸기
- 2009/02/06 SPF(Sender Policy Framework)
- 2009/02/05 PHP에 GD로 한글출력+이미지 생성
- 2009/02/04 아파치2.x 권한이 있는데 퍼미션에러날때
- 2009/02/03 Sender domain must resolve
- 2009/02/03 보내는 주소이상으로 메일이 defer 될때
- 2009/01/19 이메일 유효성체크(정규식이용한 PHP버전)
- 2009/01/18 DNS 값 강제로 갱신하기
- 2008/12/31 mysql 4.x 덤프를 mysql 3.x 에 맞추어 뜨기
- 2008/12/28 ncFTP 소스설치 및 활용도 높은 사용명령
1. 알려진 메일 필터링 방법
- Antivirus
- RBL, SURBL
- procmail, byspam통한 스팸필터링
- joe job attack에 대한 방어 설정
- spamassassin활용한 점수제 메일 필터링
2. SPF(Sender Policy Framework)란
예를 들어
메일의 From 헤더에 foo@spammer.com 라고 적혀있으면
spammer.com 을 관리하는 DNS를 통해서
해당 메일이 실제 spammer.com에서 설정한 IP와 수신된 메일헤더의 IP와 비교해서 다르면 수신을 거부하게
된다. 즉, 실제로 hanmail.net에서 보내지 않지 않았으면서 메일주소는 @hanmail.net 로 속여서 발송되는
메일은 필터링이 가능하게 되는 것이다.
3. SPF 기술 적용위한 DNS 설정
SPF 기술을 적용하기 위해서는 메일서버를 운영중인 사이트의 DNS에는 TXT 레코드 설정이 필요하다.
이 설정은 다른 메일수신서버들에게 SPF정책을 통해 메일을 필터링하도록 도움을 주기위한 설정이지
본인의 메일서버로 수신된 메일이 필터링되도록 설정하는 것이 아니니, DNS 설정했다고 '어~ 필터링이
안되지'하고 헛삽집하지 말기 바란다.
SPF 기술을 적용하겠다고 보도된 10개의 포털 사이트에 대해 DNS 설정을 확인한 결과 5곳의 DNS에는
이미 TXT 설정이 되어 있었다.
※ 10개 포털 사이트
nownuri.net, hanmail.net, chol.com, dreamwiz.com, empas.com(empal.com),
korea.com, hotmail.com, paran.com, naver.com, nate.com
--------------------------------------------------------------------
# dig txt 도메인
--------------------------------------------------------------------
--------------------------------------------------------------------
;; ANSWER SECTION:
korea.com. 1759 IN TXT "v=spf1 mx ip4:210.117.14.85 ip4:211.109.1.111
ip4:211.109.1.113 ip4:211.109.1.114 ip4:211.109.1.115 ip4:211.109.1.151 ip4:211.109.1.152
ip4:211.109.11.35 ip4:211.109.11.40 ip4:211.109.2.50 ip4:211.109.2.51 ~all"
;; ANSWER SECTION:
nownuri.net. 10800 IN TXT "v=spf1 a:203.238.128.57 a:203.238.128.90 ~all"
;; ANSWER SECTION:
chol.com. 3600 IN TXT "v=spf1 ip4:203.252.3.0/24 ~all"
;; ANSWER SECTION:
dreamwiz.com. 900 IN TXT "v=spf1 ip4:211.39.128.0/24 a mx ptr ~all"
;; ANSWER SECTION:
hotmail.com. 3600 IN TXT "v=spf1 include:spf-a.hotmail.com include:spf-b.hotmail.com
include:spf-c.hotmail.com include:spf-d.hotmail.com ~all"
;; ANSWER SECTION:
spf-a.hotmail.com. 2590 IN TXT "v=spf1 ip4:209.240.192.0/19 ip4:65.52.0.0/14
ip4:131.107.0.0/16 ip4:157.54.0.0/15 ip4:157.56.0.0/14 ip4:157.60.0.0/16 ip4:167.220.0.0/16
ip4:204.79.135.0/24 ip4:204.79.188.0/24 ip4:204.79.252.0/24 ip4:207.46.0.0/16 ip4:199.2.137.0/24 ~all"
--------------------------------------------------------------------
저 설정을 보고 어떻게 TXT를 설정해야하는지 눈치를 챘을 것이다.
---------- ---------------------------------------------------------------------------
methods 설 명
---------- ---------------------------------------------------------------------------
v=spf1 SPF의 버전
ip4 메일을 송신하는 IP주소들. 211.39.128.0/24처럼 CIDR형태로 표시 가능
a DNS의 A 레코드로 설정한 IP주소를 sender로 설정
예를 들어 dreamwiz.com라면
dreamwiz.com의 IP 211.39.128.129와 211.39.128.129을 sender로 판단함을 의미
a:foo.com 처럼 도메인을 지정할 수도 있다.
mx MX 레코드에 지정한 IP주소들을 sender로 판단하라는 의미
ptr IP에 대해 lookup을 하여 PTR 레코드에 지정되어 있으면 sender로 판단하라는 의미
include 지정한 도메인의 TXT 레코드에서 설정을 찾는다.
~all 이 method는 TXT 레코드의 끝에 넣어주기 바란다.
---------- ---------------------------------------------------------------------------
보다 자세한 사항은 http://spf.pobox.com/mechanisms.html 를 참조하기 바란다.
4. 관련 사이트
* SPF
http://spf.pobox.com/
http://spf.pobox.com/faq.html
* SPF Mechanisms
http://spf.pobox.com/mechanisms.html
* An Overview of the Sender Policy Framework
http://www.msexchange.org/tutorials/Sender-Policy-Framework.html
* SPF기술을 위한 DNS 설정
http://www.petri.co.il/sender_policy_framework.htm
* SPF Council (SPF 기술, 표준에 대해 논의)
http://spf.mehnle.net/Home_Page
* SPF 테스트
http://www.schlitt.net/spf/tests/
* Domain Registrars and DNS Providers that Support SPF
http://www.kitterman.com/spf/txt.html
* sendmail에서 SPF를 위한 설정(Milter-SPF 설치 방법)
http://spf.pobox.com/sendmail-milter-INSTALL.txt
http://www.brandonhutchinson.com/Installing_Milter-SPF_with_Sendmail.html
체크 및 확인하긴 여기가 젤좋다.
http://www.kitterman.com/spf/validate.html
원본 : [좋은진호]
TRACKBACK :: http://www.jeongtaesung.com/vio/trackback/494
PHP 에서 GD로 한글 출력하기.
0. 머리
웹페이지의 이미지를 동적으로 생성하기 위해 gd 를 이용합니다.
또 한글 출력과 트루 타입폰트를 이용하기 위해 freetype 을 이용합니다.
대강의 흐름은
freetype과 freetype-devel 을 설치하고 gd를 freetype 과 ttf 를 지원하도록
컴파일 한후, php를 gd 포함하여 컴파일 합니다. 이 과정에서 한글지원이 되
도록 한글 패치된 gd 와 php(gdttf.c) 를 이용합니다.
1. 준비물
http://211.114.221.152/gd_patch.php3 에서
한글패치 GD (gd-1.8.2ko.tar.gz)
한글패치 php (php_gd_ko.tar.gz)
를 받는다.
원한다면 샘플 한글 폰트도 받는다.
그 외에 필수적인 것들
freetype, freetype-devel (rpm 도 상관없음, 여기선 rpm으로 설치했다고 가정)
php4 (source)
2. 설치
2-1 GD 설치
- 다운 받은 패치된 GD 소스를 임의의 디렉토리에 푼다.
- 다음과 같이 Makefile 수정
14라인 CFLAGS=-O 를 주석처리
26라인 LIBS=-lm -lgd -lpng -lz 를 주석 처리 하고
36라인 LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11 의 주석을 푼다.
- gdttf.c 의 21라인 #include "freetype.h" 를 수정 #include <freetype/freetype.h>
- 컴파일 (make ; make install)
2-2 PHP 설치
- php4 소스를 임의의 디렉토리에 푼다.
- 패치된 php 소스를 푼다.
- 그 안의 jisx0208.h와 gdttf.c 를 원본 php의 소스 디렉의 ext/gd/ 에 덮어쓴다.
- ./configure (이때 다음의 옵션이 반드시 들어가야 한다.)
--with-gd --enable-gd-imgstrttf --with-ttf
- make ; make install
- httpd 재시작
3. 테스트
다음의 소스를 테스트 하여 한글이 나오는 이미지(png)가 생성되면 성공.
단 ./fonts/ 라는 디렉과 폰트는 따로 다운 받는다.
테스트 코드
<?php
Header ("Content-type: image/png");
$im = imagecreate (400, 60);
$black = ImageColorAllocate ($im, 0, 0, 0);
$white = ImageColorAllocate ($im, 255, 255, 255);
ImageTTFText ($im, 40, 0, 10, 50, $white, "./fonts/hm.TTF", "오메가 Ω");
ImagePng ($im);
ImageDestroy ($im);
?>
[출처] php에서 gd한글패치2|작성자 서윤아빠
TRACKBACK :: http://www.jeongtaesung.com/vio/trackback/492
/conf/extra/http-userdir.conf 에
<Directory /home/*/public>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
# <LimitExcept GET POST OPTIONS>
# Order deny,allow
# Deny from all
# </LimitExcept>
</Directory>
public_html 이 아니다 public으로 되어 있다. - -;;
완삼형님 아녔으면 개삽질 했을뻔....
감사합니다. 햇님 ㅜ
TRACKBACK :: http://www.jeongtaesung.com/vio/trackback/491
>hostname 치면, 현재 호스트네임을 확인할 수 있다.
그런데 이 호스트네임이 DNS에 등록되지 않았다며, 수신측 서버에서 defered 된다.
주로 학교나, 기관에서 짤없다.
이방식은 스팸을 걸러내는 근래의 트랜드로 학교를 중심으로 급속히 적용되고 있다고 한다.
보내는 측 도메인을 아이피와 비교하여, 맞지 않으면 메일을 차단하는 것이다.
해결방법은
1. DNS에 해당 호스트네임을 등록시켜 주거나
2. vi /etc/sysconfig/network 을 통해서 호스트네임을 변경해주는것이다.
변경후 service network restart 해준다.
호스트네임을 변경하는 간단한 방법
>hostname www.designichthus.com
TRACKBACK :: http://www.jeongtaesung.com/vio/trackback/490
php.ini 항목에서 sendmail_from 항목의 값이 noValue 인 경우엔, 메일이 차단될 수 있다.
이경우 php.ini에 메일주소를 넣어주던가 (단일 도메인사용시)
아니면 메일을 발송하는 페이지에서 from을 명시해주면 된다.
약간의 꼼수로
ini_set("sendmail_from",webmaster@abc.com );
을 상단에 두면 임시로 php.ini 상태가 변하게 된다.
TRACKBACK :: http://www.jeongtaesung.com/vio/trackback/489
<?
$email1 = "sam@naver.com";
$email2 = "sam";
// 함수로 만들때
function checkEmail($mail) {
$pattern = "^([A-Za-z0-9\.|-|_]{1,60})([@])";
$pattern .="([A-Za-z0-9\.|-|_]{1,60})(\.)([A-Za-z]{2,3})$";
$retval = false;
if(ereg($pattern,$mail)) {
$retval = true;
}
return $retval;
}
if(checkEmail($email1)) {
echo "유효한 이메일<br>";
} else {
echo "무효한 이메일<br>";
}
if(checkEmail($email2)) {
echo "유효한 이메일<br>";
} else {
echo "무효한 이메일<br>";
}
?>
TRACKBACK :: http://www.jeongtaesung.com/vio/trackback/471
TRACKBACK :: http://www.jeongtaesung.com/vio/trackback/464
TRACKBACK :: http://www.jeongtaesung.com/vio/trackback/457
ftp.superuser.co.kr > FTP > ncFPT 다운로드
tar xvfz ** 압축해제
cd 해당폴더
./configure
make
make install
1. 접속
ncfpt> open -u 사용자아이디 -p 패스워드 -P포트 도메인(혹은 아이피)
2. 기본파일 가져오기 (현재 클라이언트쪽 폴더로 가져온다)
ncfpt> get 1.txt 2.txt 3.txt
ncfpt> get *.txt
3. 간단한 옵션 (이름바꾸어 가져오기)
ncfpt> get -z ReadMe.txt README
4. 폴더가져오기
ncfpt> get -R test
5. 명령어 한번으로 가져오고 밀어넣기
ncftpget -u아디 -p암호 접속할ftp서버 받을곳 받을파일
ncftpget -uxxxx -pxxxx xxx.xxx.xxx.xxx . /upload/backup/*
xxx.xxx.xxx.xxx/upload/backup 파일을 현재 내가 있는 곳으로 받아온다는 뜻
ncftpput -u아디 -p암호 접속할ftp서버 올릴곳 올릴파일
ncftpput -uxxxx -pxxxx xxx.xxx.xxx.xxx /upload/ /tmp/backup
xxx.xxx.xxx.xxx/upload 에 /tmp/backup 라는 파일을 올린다는 뜻이된다.
*접속하기
ncftp -u hostname
ncftp -u username hostname
ncftp -u username -p password hostname
*이동
원격서버 조정 cd , ls
로컬서버 조정 lcd, lls
*파일 보내기(mput), 가져오기(mget)
mget * : 디렉토리를 제외한 나머지파일을 모두 가져온다.
mget -R BACKUP : BACKUP이란 폴더 안에 존재하는 모든내용을 가져온다.
mget -R * : 역시 하위폴더까지 모두 가져온다.
mget *.html : 하위의 모든.html을 가지고 올경우
get -R *.html : 하위 디렉토리 하위의 것까지 가지고 올경우
- mget(multiple get) , mput(multiple put)
*파일전송모드 선택하기
binary
ascii
*북마크
bookmark
bookmarks
예를들어 hanulsso.com에 접속할때 북마크에 hanulsso로 등록하면,그 이후에는 ncftp hanulsso하면 접속된다. 등록할 때는 그냥 bookmark명령어를 사용하고, 편집할 때는 bookmarks를 사용하시면 된다.

