차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판이전 판다음 판 | 이전 판 | ||
tech:php [2017/01/05 00:39] – [explode()] V_L | tech:php [2019/03/26 10:01] (현재) – [PHP 확장자 숨기기] V_L | ||
---|---|---|---|
줄 1: | 줄 1: | ||
{{tag> | {{tag> | ||
- | ======Php====== | + | ======PHP====== |
=====기본===== | =====기본===== | ||
줄 7: | 줄 7: | ||
**Thread Safe 와 Non Thread Safe** | **Thread Safe 와 Non Thread Safe** | ||
- | 우선 윈도우용 PHP는 항상 Thread Safe 버전으로 나왔었다. | + | 우선 윈도우용 PHP는 항상 |
이유는 윈도우가 멀티쓰레드 방식인데 PHP 는 멀티프로세스 방식으로 개발 되었기 때문이다. | 이유는 윈도우가 멀티쓰레드 방식인데 PHP 는 멀티프로세스 방식으로 개발 되었기 때문이다. | ||
- | 참고로 리눅스나 유닉스는 원래 멀티프로세스 방식이었기에 문제가 되지 않았다. | + | 참고로 |
PHP를 IIS와 연동하기 위해 CGI 또는 ISAPI 방식으로 연동을 한다. | PHP를 IIS와 연동하기 위해 CGI 또는 ISAPI 방식으로 연동을 한다. | ||
줄 18: | 줄 18: | ||
이 퍼포먼스 문제를 개선한 것이 Non Thread Safe 버전이라고 생각하면 되겠다…^^ | 이 퍼포먼스 문제를 개선한 것이 Non Thread Safe 버전이라고 생각하면 되겠다…^^ | ||
- | | + | 정리를 하자면 |
- | * Windows + IIS(CGI or FastCGI) | + | |
- | * Windows + Apache(MPM worker) | + | NTS는 |
- | * Windows + Apache(MPM prefork) | + | - 다중 스레드 |
+ | - FAST CGI 호환을 위해 | ||
+ | TS는 | ||
+ | - 단일 스레드 | ||
+ | - SAPI와 PHP 호환을 위해 | ||
+ | |||
+ | |||
+ | 결론적으로 아래와 같이 설치하면 된다. | ||
+ | |||
+ | | ||
+ | * Windows + IIS(CGI or FastCGI) | ||
+ | * Windows + Apache(MPM worker) | ||
+ | * Windows + Apache(MPM prefork) | ||
=====문법===== | =====문법===== | ||
줄 1227: | 줄 1239: | ||
주민등록 번호의 경우 수정시 라도 보여 주지 않는 것이 좋다. | 주민등록 번호의 경우 수정시 라도 보여 주지 않는 것이 좋다. | ||
- | input text 박스만 보여 주고 옆에 | + | input text 박스만 보여 주고 옆에 |
- | + | 회원 비번은 md5() 로 암호화 하구요. 쿠키는 사용하지 마세요. | |
- | + | ||
- | + | ||
- | 회원 비번은 md5() 로 암호화 하시구요. 쿠키는 사용하지 마세요. | + | |
회원이 비번을 잊어 버렸을 경우는 회원 email 주소로 새로운 비번을 쏴주시구요. | 회원이 비번을 잊어 버렸을 경우는 회원 email 주소로 새로운 비번을 쏴주시구요. | ||
줄 1254: | 줄 1263: | ||
$userpass 값은 32 자 인지 확인 하면 된다. md5() 로 해슁 하면 32자가 됩니당. | $userpass 값은 32 자 인지 확인 하면 된다. md5() 로 해슁 하면 32자가 됩니당. | ||
- | if((session_is_registered(username)) && (session_is_registered(user_id))) | + | |
- | session_is_registered() 를 사용하시구요.. | + | session_is_registered() |
+ | |||
+ | 를 사용하시구요.. | ||
$pw 도 암호화 하세용..!!! | $pw 도 암호화 하세용..!!! | ||
줄 1261: | 줄 1272: | ||
비교는 | 비교는 | ||
- | if($pw=====md5($pw넘어온값) && isset($pw넘어온값)) | + | |
+ | | ||
이런식으로 체크 하시구용...^^ | 이런식으로 체크 하시구용...^^ | ||
좀더 고심해 보시고 응용해보라 ^^ | 좀더 고심해 보시고 응용해보라 ^^ | ||
- | $tpass=md5(" | + | |
- | if(($id | + | if(($id == " |
이런 식으로 ^^ | 이런 식으로 ^^ | ||
줄 1469: | 줄 1481: | ||
- | ==== 세션 쿠키값 - 보안 로그인 시스템 | + | ==== 세션 쿠키값 - 보안 로그인 시스템==== |
$userid | $userid | ||
줄 1522: | 줄 1534: | ||
윈도우는 잘 모르겠다. | 윈도우는 잘 모르겠다. | ||
openSSL 를 반드시 사용하라 ^^ | openSSL 를 반드시 사용하라 ^^ | ||
+ | |||
+ | [[tech: | ||
http:// | http:// | ||
줄 1623: | 줄 1637: | ||
====PHP 에러 출력 안하기==== | ====PHP 에러 출력 안하기==== | ||
- | 보안을 위해서는 필수. | + | [[tech: |
php.ini의 Error_Handling 부분에서 display_errors = Off 로 설정해 주면 된다. | php.ini의 Error_Handling 부분에서 display_errors = Off 로 설정해 주면 된다. | ||
줄 1633: | 줄 1647: | ||
Example 1. strip_tags() example | Example 1. strip_tags() example | ||
- | $string = strip_tags($string, | + | |
+ | | ||
$string 에서 < | $string 에서 < | ||
줄 1639: | 줄 1654: | ||
그런데 문내가 존재 한다.< | 그런데 문내가 존재 한다.< | ||
- | <b onmouseover=" | + | |
이런 문장을 쓸 경우 문내가 된다..ㅋㅋㅋ | 이런 문장을 쓸 경우 문내가 된다..ㅋㅋㅋ | ||
만약 | 만약 | ||
- | <b onmouseover=" | + | |
글구 <a> 태그를 허용해도 <a href="" | 글구 <a> 태그를 허용해도 <a href="" | ||
줄 1651: | 줄 1666: | ||
음 넘 초보적인 방법이지만 그래두 함 적어보겠다. | 음 넘 초보적인 방법이지만 그래두 함 적어보겠다. | ||
- | 만약 게시판에 관리자 모드가 있다면...그 곳많은 보안이 상당히 많이 필요하겠지염. | + | 만약 게시판에 관리자 모드가 있다면...많은 보안이 필요. |
- | 보안을 위해서 이런 저런 방법을 많이 사용하실테구염. | + | 사용하는 방법에 아주 간단한 자바스크립트를 추가 한다면 좋다. |
- | 사용하시는 방법에 아주 간단한 자바스크립트를 추가 한다면 좋을 듯 한다. | + | |
+ | < | ||
function goto_page($url) { | function goto_page($url) { | ||
echo "< | echo "< | ||
} | } | ||
- | + | </ | |
- | 보안이 조금이나마 필요한 부분에선 이 함수를 사용해서 이동했던 페이지들을 히스토리에서 삭제를 하는 것이지 | + | 보안이 조금이나마 필요한 부분에선 이 함수를 사용해서 이동했던 페이지들을 히스토리에서 삭제를 하는 것 |
- | 요... | + | |
가끔 어떤 곳에서 로그아웃을 했더라구 뒤로가기 버튼을 클릭하면 이전 페이지가 나오는 것을 많이 목격하고 위 | 가끔 어떤 곳에서 로그아웃을 했더라구 뒤로가기 버튼을 클릭하면 이전 페이지가 나오는 것을 많이 목격하고 위 | ||
에 함수를 많이 사용하게 되었다. | 에 함수를 많이 사용하게 되었다. | ||
- | 위 처럼 하면 로그 아웃 후에 뒤로가기 버튼을 눌러두 이전 페이지가 아닌 잴 처음 화면으로 가게 되지염. | + | 위 처럼 하면 로그 아웃 후에 뒤로가기 버튼을 눌러두 이전 페이지가 아닌 잴 처음 화면으로 가지. |
====스팸 봇이 여러분의 email주소를==== | ====스팸 봇이 여러분의 email주소를==== | ||
줄 1679: | 줄 1693: | ||
PHP 확장자는 마음대로 변경 하여 사용할 수 있다. | PHP 확장자는 마음대로 변경 하여 사용할 수 있다. | ||
- | 아래는 윈도우에서 httpd.conf 파일 이다. 물론 리눅스도 AddType 부분은 동일 | + | 아래는 윈도우에서 httpd.conf 파일 이다. 물론 리눅스도 AddType 부분은 동일. |
+ | |||
+ | < | ||
LoadModule php4_module c:/ | LoadModule php4_module c:/ | ||
AddType application/ | AddType application/ | ||
+ | </ | ||
위에 처럼 설정 하면 | 위에 처럼 설정 하면 | ||
.tood .tgp .cal .html .htm .include 파일에서 PHP 를 사용할 수 있다. | .tood .tgp .cal .html .htm .include 파일에서 PHP 를 사용할 수 있다. | ||
- | 확장자만 가지고는 이 사이트가 PHP 기반인지 알 수 없다. | ||
- | 물론 알 수 있는 방법은 많죠..그러나 단지 접속 해 보고는 알 수 없다. | ||
- | |||
- | index.tgp 파일...이상하게 생각 할것 이다..이게 먼 확장자 이지? | ||
+ | 확장자만 가지고는 이 사이트가 PHP 기반인지 알 수 없다. | ||
====세션 보안 최적화 | ====세션 보안 최적화 | ||