jpgraph - php graph to image 클라이언트에서 운영되는 차트에는 HTML5 와 SVG를 적극적으로 이용하여 화려한 기능과 미려한 디자인을 겸비한 좋은 차트들이 많지만 이 차트들은 모두 클라이언트의 웹 브라우저에서 실행되기 때문에 이메일을 통한 보고서 서비스를 지원하기에는 매우 어렵다는 단점이 있다. 그 단점이란 서버사이드 언어에 표현된 스크립트를 자바스크립트 쉘 등을 통하여 직접 인터프리터 해주어야하고 실제 해석이 되어도 브라우저호환 이라는 최종보스가 등장하기 때문이다. 더군다나 SVG로 그린 이미지는 캔버스로 캡쳐해도 안잡힌다. 어쨌든 이러한 복잡한 방법과 번거로운 절차를 없애기 위해서 이메일 보고서에 다음과 같은 방법으로 작업하기로 결정. 1. 먼저 이메일용 HTML을 마크업하고 ..
int rand ( [int $min, int $max]) PHP에서 난수를 발생시키는 랜덤함수. 여기서 기본 인자인 min,max를 생략하고 그냥 rand()를 사용하면 0과 getrandmax() 까지의 임의의 난수를 반환하게 된다. * (윈도우 기준) getrandmax() 는 오직 32767까지의 값을 가진다. 만약 더 큰 수를 지정하고 싶다면 정수로 직접 적어주길 바란다. 만약 5~15까지의 임의의 수를 얻고싶다면 rand(5, 15) 로 사용한다. 예제) 랜덤하게 열리는 페이지 참고 : http://php.net/manual/en/function.rand.php
클라이언트 소켓 함수 소켓 연결(클라이언트쪽)은 다음과 같은 5단계로 나뉜다. socket_create() //소켓을 생성한다. IPv4인지 IPv6인지, 타입, TCP인지 ICMP인지 UDP인지 등등을 정한다. socket_connect() //ip와 port번호로 연결한다. socket_write() //질의할 문자열과 버퍼등을 보낸다. socket_read() //소켓에대한 버퍼 사이즈만큼 읽는다. socket_close() //소켓 연결 종료 config.php socket.php
list - 순차적인 값 바인딩 list 메서드는 순차적으로 값을 바인딩 할 수 있는 메서드이다. 특히 '날짜와 시간'관련 메서드에 explode와 결합하여 사용하면 환상적인 편리함을 제공한다. 문자열을 분리하여 배열로 저장 형식 variable = explode(token, string); 예제 applebananacatdog list($y,$m,$d,$h,$i,$s) = explode(" ",date("Y m d H i s")); 분리된 값은 다음과 같이 편하게 사용이 가능하다. $today = $d;$beforeDay = date("d",strtotime ("-1 days")); //echo " $beforeDay";//echo " $today";$ym = $y.$m; //201412
사용자 비밀번호는 단방향 암호화 함수로 암호화해서 저장하는 건 기본이죠? 근데 MySQL의 password() 함수는 한물 갔고 crypt() 함수는 쉽게 뚫린다고 하고 md5() 함수도 쉽게 뚫린다고 하고 sha1() 함수도 곧 뚫릴 거라고 하고 hash() 함수는 웬 듣도보도 못한 알고리듬이 그렇게 많은지? 그래서 세계적인 보안 전문가들께서 추천하시는 비밀번호 암호화 방법들을 간단하게 정리해 보았습니다. 웬만하면 보안 허술한 md5() 그만 쓰시고 아래의 방법들 중 하나 골라잡으세요. ===================================================================================================== 1. scrypt 암호화 백업 서비스..
우리가 항상 사용하는 로그인 SQL의 기본적인 형태 SQL 삽입(영어: SQL Injection, SQL 인젝션, SQL 주입)은 응용프로그램 보안 상의 허점을 의도적으로 이용해, 개발자가 생각치 못한 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 공격 방법이다. 다음과 같이 사용자의 아이디와 비밀번호를 확인하고 일치하면 로그인을 하는 PHP 프로그램이 있다고 하자. $result = mysql_query("SELECT * FROM member WHERE ID='$id' AND PW='$pw'");if(mysql_num_rows($result)){ // 로그인 성공}else{ // 사용자의 아이디와 비밀번호가 틀리므로 로그인 실패} 일반적인 경우에 위 코드가 어떻게 동작할 지 예상할 수..
session 변조방지를 위해 비교할 값은 무조건 IP로 최초 로그인에 성공하고 그 다음부터는 세션값을 가지고 이동한다. 그런데 단순히 세션에 값이 들어있다고만 해서(true) 판단하는게 아니라 사용자가 로그인을 했을 때의 실제 IP 정보를 가지고 비교해야 변조공격에 대한 방어율이 올라간다. 따라서 세션을 저장하고 비교하는 값에는 실제 IP값을 추천한다. Process [로그인 페이지] ~~ 로그인 SQL문 : 로그인 성공 ~~ $_SESSION["USER_IP"] = $_SERVER['REMOTE_ADDR']; //내장함수를 사용하거나 $_SESSION["USER_IP"] = lib_getRealIP(); //본인이 만든 함수를 활용한다. [이후 다른 페이지] $_SESSION["USER_IP"] !=..
자유게시판 번호 제목 작성자 작성일 조회수