태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
2017.04.07 14:45

<?php


ob_start();

print_r("\n\n\n======== " . date('Y-m-d H:i:s') . " ========\n");

print_r("\n\n_REQUEST\n\n");

print_r($_REQUEST);

print_r("\n\nheader\n\n");

print_r(getallheaders());

print_r("\n\nHTTP_RAW_POST_DATA\n\n");

print_r($HTTP_RAW_POST_DATA);

print_r("\n\nphp://input\n\n");

print_r(file_get_contents("php://input")); // 아파치

print_r(file_get_contents("php://stdin")); // 아파치가 아닐때


$str = ob_get_contents();

ob_end_clean();


echo $str;


Posted by 네오미르
2015.06.22 13:32

1. https://www.google.com/recaptcha 이동하여 신청하기
- Label, Domains, Owners 등을 입력

2. Site key, Secret key 확인하기
- site key, secret key 를 확인 


3. 해당 기능을 적용
- 해당 기능을 적용할 페이지에 

<script src='https://www.google.com/recaptcha/api.js'></script>

<form>
...
...
<div class="g-recaptcha" data-sitekey="6Lf2rggTAAAAAHAAvwDuCgwSUOq9X1fsnkRac4_a"></div> // site key (6Lf2~~~)
...

</form>

이렇게 스크립트와 <div> 을 삽입

4. 서버측 스크립트 적용
- 클라이언트에서 전달받은 form 값을 처리하는 페이지에

// secret key 와 from 으로 전달받은 g-recaptcha-response 값을 구글로 전달하여 인증처리
$url = 'https://www.google.com/recaptcha/api/siteverify?secret=6Lf2rggTAAAAADUZYqd2MExqeAs93PColbKERip9&response='.$_POST['g-recaptcha-response'];

$flag = json_decode(file_get_contents($url));

if (!$flag->success) {

// 예외처리 

exit;

}

...
...




Posted by 네오미르
2014.08.07 10:52

1. bit.ly 회원가입하기 - 링크
 - bit.ly 를 이용한 단축 URL 을 이용하려면 우선 bit.ly 에 회원가입을 해야합니다.


2. apiKey 확인하기
https://bitly.com/a/settings/advanced 페이지의 하단에 보면 아래 그림과 같이 Login 과 API Key 값을 확인할수 있습니다.


3. 함수
- $login, $apiKey 값에 위에서 확인한 값을 대입한다.

function bitly($uri=false) {

$login = 'o_xxxxxxxxxx';

$apiKey = 'R_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';


if (stripos($uri, 'http://') === false && stripos($uri, 'https://') === false) $uri = 'http://'.$uri;


$url = "https://api-ssl.bitly.com/v3/shorten?login={$login}&apiKey={$apiKey}&format=txt&uri=".$uri;


// file_get_contents()를 사용할수 있다면

if (ini_get('allow_url_fopen')) {

$shortURL = file_get_contents($url);

} else {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$shortURL = curl_exec($ch);

curl_close($ch);

unset($ch);

}


return trim($shortURL);

}


Posted by 네오미르
2013.11.27 15:22

setlocale(LC_CTYPE, 'ko_KR.eucKR'); // 이부분을 추가하면 정상적으로 한글을 처리할수 있음

$fp = fopen($file, 'r');
$length = 1000;
$delimiter = ',';
while ($tmp=fgetcsv($fp, $length, $delimiter)) {
    ...
    ...
}

Posted by 네오미르
2013.01.02 16:20

PHP에서 json_decode 함수를 사용하려면 몇가지 지켜줘야 하는게 있다.


$str = "{'key':'value', 'key':'value'}" 이렇게 하면 NULL값이 반환

$str = '{"key":"value", "key":"value"}' 이렇게 key와 value 를 큰따옴표(")로 묶어야만 정상적으로 작동한다.

Posted by 네오미르
2012.10.12 14:21

1. 인증서 만들기
1.1. 우선 응용 프로그램 > 유틸리티 > 키체인 접근 실행

키체인 접근 > 인증서 지원 > 인증 기관에서 인증서 요청


요청항목을 디스크에 저장됨으로 변경

2. Pass Type ID 만들기

2.1. iOS Provisioning portal 이동 

우측 상단의 [New Pass Type ID] 클릭한다.

Description과 Identifier 에 적당한 값을 입력하고 [Submit] 클릭

방금 새로 추가한 Pass Type ID 가 보일것이며, Configure 클릭

우측의 [Continue] 클릭

우측 아래의 [Continue] 클릭

[파일첨부]클릭해서 조금전에 만든 "CertificateSigningRequest.certSigningRequest" 파일을 선택하고 [Generate] 클릭

[Continue] 클릭

[Download] 클릭하면 인증서 다운로드되며 나중에 리스트에서도 다운로드 가능

리스트의 Action 항목이 Configure에서 Download로 변경되어있다.

다운받은 pass.cer 을 더블클릭해서 키체인 접근에 추가한후

방금 추가한 Pass Type ID 선택 마우스 우측버튼클릭

팝업창에서 ~~~ 보내기 선택

파일명을 적당히 변경하여 XXXX.p12 파일 생성

OSX 계정 비밀번호 입력

WWDR Intermediate certificate 다운받아서 더블클릭해서 키체인 접근에 등록후

방금 등록된 인증서 선택후 마우스 우측버튼 클릭

보내기 선택

파일 포맷을 .pem 선택후 저장하기


위 과정을 통해서 XXXXX.p12 파일과 XXXXX.pem 파일을 생성했으면 지금까지 작업은 정상적으로 마무리된것이다.

https://github.com/tschoffelen/PHP-PKPass 이동하기

https://github.com/tschoffelen/PHP-PKPass 다운받기


3. 서버세팅하기

웹서버에 php-pkpass 파일들과 XXXX.p12, XXXX.pem 파일을 웹서버에 업로드한다.

example.php 파일을 열어서

$pass->setCertificate('xxxx.p12'); // 경로에 맞게 수정

$pass->setCertificatePassword('인증서생성시설정한패스워드입력');

$pass->setWWDRcertPath('xxxx.pem'); // 경로에 맞게 수정

"passTypeIdentifier": "8K9R94ZWH2.pass.kalljin", //11라인

"teamIdentifier": "kalljin pass test",  // 15라인

아래사진을 참고해서 11라인에는 ~~~.pass.sample 입력

15라인에는 sample 입력

우측의 [Continue] 클릭

이제 localhost/path/example.php 를 아이폰의 사파리에서 접근해보면

아래처럼 나오면 정상적으로 마무리된것이고 아니라면 다른 문제가 있는것이다.




Posted by 네오미르
2012.10.10 09:54

해외 웹호스팅 서비스를 이용하게 되면 시차가 존재하게됩니다.

이문제를 해결하기 위해서는

root 폴더에 .htaccess 파일이 있을텐데 (만약에 없다면 하나 만드세요)

php_value date.timezone "Asia/Seoul" 을 추가하면 됩니다.


Posted by 네오미르
2012.01.17 11:27
링크  다운받기  홈페이지

사실 OSX에는 아파치서버가  포함되어있긴 합니다만 손쉽게 APM 을 설치해서 쓰는게 편합니다

위의 링크를 통해서 MAMP 를 다운 받습니다.

설치를 시작합니다.
 








여기까지가 설치화면입니다.

이제 실행을 해봅시다.

실행하면 MAMP 버전으로 실행할것인지 MAMP PRO 버전으로 할것인지를 물어봅니다만 무료버전인 MAMP 로 실행합니다.



실행을 하면 웹브라우저에 아래와 같은 화면이 뜰겁니다. 이렇게 하면 설치 및 실행까지 성공한거죠



아래 화면에서 Preferences 를 선택합니다. 아주 간단한 설정을 변경할수 있습니다.



웹서버의 루트디렉토리를 변경하는 화면입니다. 아래의 디렉토리를 그대로 사용해도 좋고 다른 디렉토리로 변경해도 좋습니다.

  
개인적으로 맥용 APM으로는 이게 가장 편하지 않나 싶습니다.

Posted by 네오미르
2012.01.05 14:02
$.ajax({
url: 타겟url,
type: "POST",
dataType: "text",
success: function(responseText, statusText) {},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});

jQuery의 $.ajax() 를 이용해서 Ajax를 처리하는데 크롬, 파이어폭스, 사파리에서는 잘 처리되는데
ie에서만 자꾸 error 함수가 호출된다.
response 를 찍어봐도 200 으로 에러가 아님에도 불구하고..

원인은 내가 넘겨주는값이 숫자만 넘겨주게 하면서 캐릭터셋을 UTF-8로 지정하지 않아서 생긴문제이다.

header("content-type:text/html; charset=utf-8");

이거 한줄이면 해결될것을.. ㅡ,ㅡ;; 평소에 ajax를 처리하는 녀석은 전부 utf-8로 인코딩해서 사용하다보니 이런 삽질을.. ㅋㅋㅋ 
Posted by 네오미르
2009.08.12 15:33

서버환경
OS : Windows XP SP3
APM : Autoset 4.3.2 [사이트]
DB : SQL Server 2008 Express

SQL Server 2005 버전부터는 mssql_*() 함수들을 이용하여 접근이 불가능합니다.
ntwdblib.DLL 을 최신버전으로 교체하면 된다고하던데 저는 그래도 안되더군요.

설치하기

우선 SQLServerDriverForPHP 를 다운로드 합니다.

다운받은 파일을 실행해서 적당한곳에 풉니다.


위와같이 파일이 풀리고 php_sqlsrv.dll, php_sqlsrv_ts.dll 을 PHP가 설치된 폴더의 ext 폴더로 이동시킵니다
AutoSet으로 예를 든다면 C:\AutoSet\Server\php5.2\ext 가 되겟죠

이제는 Microsoft SQL Server Native Client 을 설치해야 합니다.
이것은 아까 푼 폴더에보면 SQLServerDriverForPHP_Readme.htm 을 보시면 다운로드 받을수 있게 링크가 있습니다

편의를 위하여 링크를 제공합니다.
Download the X86 package
Download the X64 package
Download the IA64 package

서버 환경에 맞는걸로 다운로드 받고 설치하세요. 위의 다운로드 링크는 microsoft 사의 링크입니다.

설치하는것은 이것으로 완료되었습니다. 이제는 설정을 손을 봐야합니다.
만약 SQL Server Native Clinet 를 설치하지않고 php에서 연결을 테스트할 경우 ODBC가 설정안되어 있다는 내용의에러 메시지를 제공할겁니다.

설정하기
AutoSet 설정하기
아까 추가한 확장모듈이 보이요? 그것을 선택하고 변경사항을 저장한다음 웹서버를 재시작합니다.

SQL Server 2008 Express 연결하기
Express 버전의 경우 기본적으로 원격연결이 허용되어 있지않습니다.

SQL Server 구성관리자를 실행시킵니다.
SQL Server 네트워크 구성을 보시면 TCP/IP, 명명된 파이프 가 사용 안 함으로 되어있을텐데 이것을 사용으로 바꿉니다.

TCP/IP를 더블클릭하거나 속성창을 엽니다.
사용을 '예'로 변경 TCP포트를 1433으로 지정, IPALL의 TCP포트를 1433입력하시고 SQL Server를 재시작하면 됩니다.
Posted by 네오미르