퍼미션 변환

리눅스 설치후 보안을 위해서
퍼미션을 변경할 파일들

chmod 100 /usr/bin/top
chmod 660 /var/log/xferlog*
chmod 100 /usr/bin/w
chmod 660 /var/log/yum.log
chmod 100 /usr/bin/uptime
chmod 700 -R /etc/rc.d/
chmod 100 /usr/bin/last
chmod 700 -R /etc/cron.*
chmod 100 /usr/bin/free
chmod 640 /etc/fstab
chmod 100 /usr/bin/find
chmod 640 /etc/redhat-release
chmod 100 /bin/ping
chmod 640 /etc/proftpd.conf
chmod 100 /bin/netstat
chmod 640 /etc/crontab
chmod 100 /sbin/ifconfig
chmod 640 /etc/logrotate.conf
chmod 700 /proc/
chmod 640 -R /etc/xinetd.d/
chmod 700 /boot/
chmod 640 -R /etc/logrotate.d/
chmod 700 /usr/src/
chmod 640 /etc/lilo.conf
chmod 700 /usr/local/src/
chmod 640 -R /etc/snmp*
chmod 701 /www/
chmod 640 /etc/yum.conf
chmod 640 /var/log/dmesg
chmod 640 -R /etc/proftpd/
chmod 640 /var/log/ksyms*
chmod 640 /etc/snmpd.conf
chmod 640 /var/log/rpmpkgs*
chmod 640 /etc/rsyncd.conf
chmod 640 /var/log/snmpd.log*
chmod 640 /etc/xinetd.conf
chmod 660 /var/log/wtmp*
chmod 640 /etc/inetd.conf

ImageMagicK watermark(워터마크)

ImageMagicK 를 이용해서 이미지에 워터마크를 찍어보자

1. 설치
yum install imagemagick

2. 리사이즈
convert -resize 800×600 input.jpg output.jpg
convert -resize 800x input.jpg output.jpg
convert -reisze x600 input.jpg output.jpg
convert -resize 800×600! input.jpg output.jpg (느낌표(!) 사용시 강제로 사이즈 맞춤)

3. 워터마크
(투명도 30%, 이미지 가운데, watermark.png 이용)
composite -watermark 30% -gravity center watermark.png input.jpg output.jpg

이미지 클릭시 점선 안나오게 하기

HTML 코딩중 링크가 걸려있는 이미지를 클릭할 경우,
테두리에 점선이 생긴다.

이를 안나오게 하는 자바스크립트 코드이다.

autoBlur.js 로 만들어서
<script type=”text/javascript” src=”autoBlur.js”></script>
처럼 불러와도 되며, 공통으로 사용되는 js 파일에 첨부해도 된다.

function autoBlur()
{
    if ( event.srcElement.tagName==”A” || event.srcElement.TagName==”IMG” )
    {
        document.body.focus();
    }
}
document.onfocusin = autoBlur;

CentOS 5.5 네트워크 설치

CentOS 5.5 네트워크 설치방법입니다.
VMware Wrokstation 에서 설치하는 것을 기준으로 합니다.

1. http://ftp.daum.net/centos/5.5/isos/x86_64/

CentOs-5.5-x86_64-netinstall.iso 를 다운로드한다.



2. VMware CD-ROM 설정에서 다운받은 iso 파일을 마운트 시킨다



3. VMware 를 시작해준다



[F2-Options] 를 선택한다




네트워크 설치를 위해서
linux askmethod 를 입력한뒤 엔터를 눌러준다






언어/키보드 설정을 한다



네트워크 설치이므로 HTTP를 선택한다



각 환경에 맞게 값을 입력한다
공유기를 사용중이므로 DHCP에서 할당되는 값을 지정해줬다

192.168.123.190 / 255.255.255.0



Web site name : ftp.daum.net
CentOs directory : /centos/5.5/os/x86_64 (/os/ 부분을 주의!!!)

이후 진행은 별다른게 없다~



페이팔 샌드박스(Paypal Sandbox) 테스트계정 사용방법

페이팔(paypal) 연동시 테스트를 위해서 샌드박스(Sandbox) 라는 서비스를 제공합니다.
가상계정을 생성시켜서, 실제 연동이 잘 되는지 확인할 수 있죠.

먼저 https://developer.paypal.com/ 이동합니다.



페이팔 샌드박스 계정이 없다면(페이팔 계정이 아닙니다.) Sign Up Now 를 클릭해서 가입합니다.
특별히 어려운 항목은 없습니다.

가입 후 왼쪽 상단 로그인(Member Log In)에서 계정에 로그인을 합니다.



테스트를 위해서 눈여겨 볼 항목은 아래와 같습니다.
Test Accounts
– Create a preconfigured buyer or seller account.
(미리 설정된 구매자 또는 판매자 계정을 만든다) 정도겠군요..

클릭해서 생성페이지로 이동합니다.



먼저 구매자 계정을 만들어보죠. 상품을 구매하는 사람입니다.

1. Country : 기본값(변경해도 테스트 진행에 영향을 주지 않을 듯)
2. Account Type : Buyer 선택
3. Login Email : 아무거나 입력해도 된다. 오직 샌드박스 안에서만 사용되는 계정이기 때문이다
4. Password : 최소 8자입력
5. Add Credit Card : Visa 선택. 상황에 따라 선택한다
6. Account Balance : 계정에 잔액을 입력한다.(0~9999) 구매자니깐 적당히 잔액을 입력해 준다
7. Note : 메모를 적어둔다

Create Account 버튼을 누르면
테스트 계정이 생성된다

같은 방법으로 이번에 판매자 계정을 만든다.
Account Type : Seller



1. Enter Sandbox Test Site : 테스트 사이트에 접속한다. Paypal(Sandbox)에서 테스트 계정으로 로그인이 가능하다.
2. Delete : 계정을 삭제한다. 맘에 안들면 삭제하자~
3. Personal / Business : 구매자 / 판매자계정
4. Reset : 비밀번호 변경가능

이렇게 구매자, 판매자 테스트 계정을 만드는데 성공했다.
각각 라디오 버튼으로 계정을 선택한 뒤 Enter Sandbox Test Site 버튼을 눌러 계정에 접속하면
Paypal로 접속한 화면이 나온다.
실제 거래만 안될뿐 Paypal 과 똑같은 결제가 가능하다.



주의해서 보아야 할 점이,
테스트 계정인 Sandbox인 경우 상단 로고에도 Sandbox 라고 나오며
Test Site 라는 문구가 상단, 하단에 보인다는 점이다.



파일 인코딩 일괄변환

해당 디렉토리내 모든파일 ( 서브 디렉토리 포함 ) 의 인코딩을 변경합니다.
from / to 변수를 바꿔줘서 utf8 -> euckr, euckr -> utf8 으로 변경이 가능합니다.

-name “*.php” -or -name “*.html” -or -name “*.css” -or -name “*.js”
이부분을 수정하시면 원하시는 확장자만 변환을 시킵니다.

주의) 두번 실행하면 모든 파일이 *.tmp 로 복사됩니다.

============================================================================

#!/bin/sh


// encoding
from=”euckr”
to=”utf8″


// search files
target_dir=”.”
target_files=$(find $target_dir -type f \( -name “*.php” -or -name “*.html” -or -name “*.css” -or -name “*.js” \))


for file in $target_files;do
    echo “file : $file”
    iconv -c -f=$from -t=$to $file > $file.tmp && mv -f $file.tmp $file
done


exit 0

C#.net – 인터넷 쿠키, 히스토리, 캐시 지우기

c#에서 인터넷 쿠키, 히스토리, 캐시를 지워야 할 경우 사용한다.

string[] strFiles1 = Directory.GetFiles(Environment.GetFolderPath(
Environment.SpecialFolder.History), "*", SearchOption.AllDirectories);
string[] strFiles2 = Directory.GetFiles(Environment.GetFolderPath(
Environment.SpecialFolder.Cookies), "*.txt", SearchOption.AllDirectories);
string[] strFiles3 = Directory.GetFiles(Environment.GetFolderPath(
Environment.SpecialFolder.InternetCache), "*", SearchOption.AllDirectories);


FileInfo fileDel = null;


foreach (string tmp in strFiles1)
{
    fileDel = new FileInfo(tmp);
    if (fileDel.Exists)
    {
        fileDel.Delete();
    }
}

GetRequestStream() 사용시 지연문제

WebRequest req = WebRequest.Create(URL);
req.Method = “POST”;
req.ContentType = “application/x-www-form-urlencoded”;
byte[] byteArray = Encoding.UTF8.GetBytes(data);
req.ContentLength = byteArray.Length;

Stream ds = req.GetRequestStream();
ds.Write(byteArray, 0, byteArray.Length);
ds.Close();

req.GetRequestStrream(); 사용시 이상하게 딜레이가 생기는데,
구글의 도움을 얻어보니,
req.Proxy = null;
한줄 추가해주니 딜레이가 사라졌다.

 

Despite the fact that no proxy is configured on the machine, and IE/WinINet
are configured to never use a proxy, with automatic detection disabled,
HttpWebRequest was apparently trying to detect a proxy.