태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.
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 네오미르
2014.06.26 16:35

익스플로러 하위버전의 경우 아래와 같은 함수에서 obj.document.wirte() 함수에서 엑세스거부가 발생합니다.

기존의 함수

function popup_print() {
var html = "hello!";
var print_win = window.open("", "print_win", "width=100px,height=100px,location=no,status=no");
print_win.document.open();
print_win.document.write(html);
print_win.document.close();
print_win.print();
print_win.close();
}

아래와같이 수정하니까 정상적으로 처리됩니다.

function popup_print() {
var html = "hello!";
var print_win = window.open("", "print_win", "width=100px,height=100px,location=no,status=no");
if (print_win != null) {
try {
print_win.poener = self;
} catch(e) {}
$(print_win.document.body).html(html);
}
print_win.document.close();
print_win.print();
print_win.close();
}



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.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.10.22 16:03

<textarea id="tt"></textarea>

<script type="text/javascript">

var v = {v1:"111", class:"vvvvv"};

var tt = document.getElementById('tt');
tt.html = v.class;

</script>

위의 예제를 보면 크롬과 파이어폭스에서는 문제 없이 처리가 됩니다.

하지만!!!!! ie7, ie8에서 안된거보면 ie6에서 안될거 같네요

원인은~~~!!!!!!
바로 class 라는 자식값이라고해야하나요.. 암튼 저것때문에 ie에서는 정상적으로 처리가 안되네요...

후.. 오늘 몇시간동안 저것때문에 ...
Posted by 네오미르