반응형

php 409

php unserialize false 해결 방법 반환

php unserialize false 해결 방법 반환 php serialize와 unseria 제공lize(역계열화) 방법. serialize를 사용하여 serialize한 후 unserializ를 사용합니다e역직렬화하면 원래의 데이터를 얻을 수 있다 출력: serialize str:a:2:{s:4:"name";s:8:"fdipzone";s:6:"gender";s:4:"male";} unserialize str: array(2) { ["name"]=> string(8) "fdipzone" ["gender"]=> string(4) "male" } 하지만 다음 예에서는 역직렬화가 false를 반환한다 직렬화된 문자열을 검사한 결과 두 곳에서 문제가 발견되었습니다. s:5:url s:29:"http://ㅋㅋ..

개발 꿀팁/PHP 2022.08.17

PDO 쿼리mysql을 사용하여 SQL 주입을 피함

기존의 mysql_connect, mysql_query 방법을 사용하여 쿼리 데이터베이스를 접속할 경우 필터링이 잘 되지 않으면 SQL 주입 위험이 있습니다.사용자가 제출한 값은 mysql_real_escape_string() 함수로 필터링할 수 있지만 결함도 있다.PHP의 PDO 확장 prepare 방법을 사용하면 sql injection 리스크를 피할 수 있습니다. PDO(PHP Data Object)는 PHP5 이전의 php4/php3는 각각 php_mysql.dll과 같은 데이터베이스와 연결 및 처리를 위해 확장되었기 때문에 PHP5에 새로 추가된 중요한 기능입니다. PHP6에서도 기본적으로 PDO 방식으로 연결되며, mysql 확장을 보조로 사용합니다 1. PDO 설정 PDO 확장을 사용하기 전..

개발 꿀팁/PHP 2022.08.17

php 파일 다운로드 클래스 중단점 지원

php는 중단점 속행을 지원하며, 주로 HTTP 프로토콜의 header HTTP_RANGE에 의해 구현됩니다. HTTP 중단점 속행 원리 HTTP 헤더 Range, Content-Range( ) HTTP 헤더 중 일반적으로 중단점 다운로드 시에만 Range 및 Content-Range 엔티티 헤더를 사용합니다. Range 사용자 요청 헤더에서 첫 번째 바이트의 위치와 마지막 바이트의 위치를 지정합니다. (Range: 200)-300) Content-Range는 응답 헤더에 사용됩니다. 전체 파일 다운로드 요청: GET/test.rar HTTP/1.1 Connection: close Host: 116.1.219.219. Range: bytes=0-801 // 전체 파일 다운로드 요청은 bytes=0- 또는..

개발 꿀팁/PHP 2022.08.17

php redis 잠금을 사용하여 동시 액세스 제한

1. 동시접속 제한 문제 어떤 것에 대해서는 같은 것을 제한해야 한다.사용자가 동시 접속하는 장면. 사용자가 여러 번 동시 접속 요청을 하고 서버 처리에 잠금 제한이 없으면 사용자는 여러 번 성공을 요청할 수 있습니다. 예를 들어 교환쿠폰, 사용시동일한 시간에 교환번호를 발급받아 제출하며, 잠금장치가 없는 경우에는 동일한 교환번호를 사용하여 여러 장의 쿠폰으로 동시에 교환할 수 있습니다. 더미 코드는 다음과 같습니다 if A (교환 가능) B(교환 실행) C(변경됨으로 업데이트됨수령) D(끝) 만약 사용자가 교환번호를 발급받아 제출한 경우 교환(A)이 가능하다고 판단됩니다. 교환(B)을 수행한 후에 교환(C)으로 갱신됩니다.따라서 사용자가 갱신하기 전에 얼마나 많은 요청을 수행하느냐에 따라 이 요청을 성..

개발 꿀팁/PHP 2022.08.17

php redis 카운터 기반

레디스는 오픈소스로 ANSIC 언어로 작성, 네트워크 지원, 메모리 기반이나 영구화가 가능한 로그형, Key-Value 데이터베이스로 다양한 언어로 API를 제공한다. 본 논문에서는 카운터 클래스를 구현하기 위해 incr(인크리먼트), get(취득), delete(클리어) 방법을 사용한다. 1.Redis 카운터 클래스 코드 및 데모 예 RedisCounter.class.php demo.php 출력: 0 1 11 1 0 2.카운터 동시호출,카운트 일의성 체크 테스트 코드는 다음과 같습니다 테스트 동시 실행, 우리는 ab 도구를 사용하여 테스트를 수행하며 150회, 15개의 동시 실행으로 설정합니다 ab -c 15 -n 150 http://localhost/test.php 실행 결과: ab -c 15 -n ..

개발 꿀팁/PHP 2022.08.17

php 로고 QR 클래스 만들기

이 글은 php 구현에 대해 QR코드 클래스 생성, 치수 설정 지원, LOGO 추가, 선, 필렛, 투명도 등의 처리를 소개한다.전체 코드, 데모 인스턴스 및 상세 파라미터 설명이 제공되어 학습에 편리합니다. 구현 기능은 다음과 같습니다. 1.QR코드 만들기 2.QR코드에 로고 추가 3.로고는 그릴 수 있다. 4.로고 라운드 가능 5.logo 투명도 설정 가능 6.logo 이미지 및 출력 이미지 유형은 png, jpg, gif 포맷을 지원합니다. 7.출력 이미지 품질 설정 가능 설정 매개 변수 설명: ecc QR 품질 L-smallest, M, Q, H-best size QR사이즈1-50 dest_filE 생성된 QR코드 이미지경로 quality 생성된 그림의 품질 로고 logo 경로:빈칸은 logo에 가..

개발 꿀팁/PHP 2022.08.16
반응형