본문 바로가기

php

(9)
curl 을 사용하여 https 에 접속할때 22에러 curl 을 이용하여 서버에 접속하여 정보를 받아 오고 있다.하지만 https일 경우에만 아래와 같은 오류가 발생하고 있다. Warning : curl_error(): 22 is not a valid cURL handle resource in 이 문제는 옵션만 하나 지정하면 해결된다.curl_setopt($this->handle, CURLOPT_SSL_VERIFYPEER, false);
http request 요청 확인 작성한 php를 요청하는 header, body를 출력하는 테스트 코드입니다. HTTP_METHOD 인 GET, POST, PUT, DELETE 의 내용을 출력하도록 하였습니다. GET, POST는 PHP에서 지원하는 기능을 활용하였고 PUT, DELETE는 raw data를 출력하도록 하였습니다.
request header, body php로 작성한 페이지를 누군가를 요청했다.그 요청의 header, body 가 궁금한데... 어떻게 가져오지??? header의 값은apache_request_headers()을 이용해 배열로 가져 옵니다. body의 값은$HTTP_RAW_POST_DATA을 이용해 문자열로 가져 옵니다.
리눅스에서 pear 설치 10년 이상 php를 조금씩 했지만 pear를 처음 설치해 봤다; 반성해야겠다; wget pear.php.net/go-pear 라고 입력하면 설치 스크립트를 내려받고 go-pear 라는 파일이 생긴다. go-pear 파일을 서버가 웹서버가 돌아가는 폴더 안에 넣고 실행하자. 실행하기 전에 파일 확장자를 붙여 줘야 한다. mv go-pear go-pear.php 웹브라우저에서 다음과 같이 접속하자 http://localhost/go-pear.php next install 을 눌러주면 설치가 끝난다. lynx 가 설치되어 있는 경우라면 lynx -source http://pear.php.net/go-pear | php 이와 같은 명령어를 사용해도 된다.
mbstring 확장 모듈 설정 mbstring확장 모듈생성 방법 1. 같은 버젼의 php 소스 다운로드 2. 압축 풀고 cd PHP소스디렉토리/ext/mbstring 3. find / -name phpize 4. find / -name php-config 5. /phpize 디렉토리/phpize 6. ./configure --with-php-config=/php-config디렉토리/php-config --enable-mbstring 7. make // mbstring/modules/에 mbstring.so 생성됨 8. mbstring.so 이 화일을 php.ini 화일의 extension_dir=확장모듈 경로
HTTP1.1 400 bad request 웹브라우저로는 잘 열리는데 프로그램 상에서 읽어오면 400 bad request 오류가 나는 경우가 있습니다.http1.1 에서 get 또는 post로 값을 잘못 넘겼을때 발생한다고 합니다. 검색을 통해서 알아보니 Host : 헤더가 빠져서 그렇다고 했지만.... Host를 헤더에 넣어도 해결되지 않았습니다. 결국 찾은 것은 User-Agent 였습니다. "User-Agent: ".$_SERVER['HTTP_USER_AGENT'] 를 헤더에 추가하면 됩니다. 추가 400 bad request 는 요청이 잘못되어 발생하는 경우 입니다.정확한 해결방법은 각 서버에 따라 다 다릅니다.어떤 요청을 원하는지 알아야 정확히 대응할 수 있습니다.주로 parameter의 값이 없거나 잘못된 값일 경우 발생합니다.
[UnitTest] SameTest 테스팅도구인 UnitTest 그중에서 PHP에서 쓰는 테스트툴들이 몇가지 있다. 이전 버전의 프레임워크를 만들때 만들어 두었던 유닛테스트.. 일명 SameTest ! PHPUnit 이랑 비슷할수도 있을듯...; 써본게 그거라; 아직 고급기능은 없고 단순한 비교기능만 있을뿐이다. sameValue($mHope, $mValue) - 두값을 비교(데이터타입,값) sameType($type, $mValue) - 데이터 타입을 비교 sameClass($sName,$oClass) - 인스턴스의 클래스이름 비교 sameInt($mValue), sameInteger($mValue) - 정수형인가 sameFloat($mValue), sameDouble($mValue) - 실수형인가 sameString($mValue) -..
[PHP보안] Query 공격 막기 POST, GET으로 값을 받은후에 그 값으로 쿼리문을 작성할 경우 보안에 취약점이 생긴다. 이 취약점은 따옴표, 외따옴표 가 들어가면서 생기는 취약점 이므로 이것을 막아주면 된다. MySql 같은 경우에는 mysql_real_escape_string() 을 사용하면된다.