프로그래밍팁/php
-
XSS 취약점을 이용한 쿠키 탈취 예방(feat. php)프로그래밍팁/php 2019. 6. 25. 22:17
보안을 위해 쿠키에는 중요한 데이터를 포함하지 않는 것이 원칙입니다. 하지만 불가피하게 필요에 따라 중요한 정보가 담기는 경우가 있거나, 담긴 데이터를 보호해야할 때가 있습니다. 우리는 이럴 때 secure와 httpOnly를 사용해야 합니다. httpOnly - 브라우저와 서버간의 요청시에만 쿠키 전송 - document.cookie 명령어로 쿠키를 호출하는 것을 차단 secure - 네트워크에서 통신 중 쿠키를 훔쳐가는 행위 차단 - https 필요 다수의 개발자가 php에서 쿠키를 저장할때 아래와 같이 사용합니다. setcookie('name','value',time()+3600,'/','domain.com'); 위의 경우 해커에게 쿠키를 탈취 당하기 쉽습니다. 그래서 우리는 이제 아래와 같이 해야..
-
fastcgi_finish_request() for php프로그래밍팁/php 2019. 6. 25. 10:40
php에는 fastcgi_finish_request() 라는 함수가 존재 합니다. 그러나 이 함수에 대한 정보는 부족 합니다. 데이터를 클라이언트에 flush하고 요청이 끝날때까지 동작한다고만 되어 있으며 (https://www.php.net/manual/en/function.fastcgi-finish-request.php), 적절한 예제는 찾을 수 없습니다. 그래서 다음과 같은 예제를 만들었습니다. sleep은 오래걸리는 프로세스라고 가정 합니다. 예제를 실행하면 10초동안 로딩 후 화면에 Start가 나타납니다. 하지만 fastcgi_finish_request() 함수를 사용하면 sleep이 끝나기도 전에 화면에 Start가 표시됩니다. fastcgi_finish_request() 앞에 코드는 일단 ..
-
php curl post 통신프로그래밍팁/php 2018. 6. 17. 03:30
보내는 쪽 $url = 'http://xxxx.com';$post['data'] = 'data'; $ch = @curl_init(); curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $post);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$res = curl_exec ($ch); curl_close ($ch); // Close cURL handle ver_dump($res); 받는 쪽 if($_POST['data']){echo 'Success : '.$_POST['data'];}else{echo 'Fail';} [문의..
-
skytemplate 간단 메뉴얼프로그래밍팁/php 2017. 12. 29. 07:33
13년전에 유행한 skytemplate을 부득이하게 이용하려하니 사이트는 폐쇄되어 메뉴얼을 찾을수가 없었습니다.맨땅에 해딩하는 식으로 추측하여 찾은 몇가지 사용법에 대해서 작성 합니다. echo{{ val }} if{{ IF a==1 }} {{END}} 또는 {{? a==1}} {{/}} if else{{ IF a==1 }} {{ELSE}} {{END}} 또는 {{? a==1}} {{:}} {{/}} [문의하기] copyright ⓒ 2017. 워크식스
-
[워크식스] curl 이용하여 파싱하기프로그래밍팁/php 2017. 8. 22. 05:29
php에서는 html을 파싱하기 위해서 simple_html_dom 플러그인을 많이 사용되고 있습니다. 그러나 simple_html_dom을 이용하여 파싱을 할수 없거나 자바스크립트로 인해 원하는 결과를 얻어 올수 없을때가 있습니다. 이럴때 curl 을 이용한 파싱이 도움이 됩니다. $url = "http://www.example.com";$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); $output = curl_exec($ch);$info = curl_getinfo($ch); c..