레이블이 PHP인 게시물을 표시합니다. 모든 게시물 표시
레이블이 PHP인 게시물을 표시합니다. 모든 게시물 표시

2015년 2월 17일 화요일

PHP 비밀번호 암호화 부분


저는 bcrypt 방식으로 암호화를 할 생각입니다.

물론 출시전에는 솔트(소금을 쳐서 암호화를 한층 더 강하게 하는 방식)을 해야 겠죠 ^^

$password = password_hash($user_Password, PASSWORD_DEFAULT); // 사용자 패스워드 암호화

echo "\n";echo "패스워드 : ".$user_Password."\n";
echo "암호화 : ".$password."\n";
echo "저장된 암호 : ".$serverPassWord."\n";

위의 방식의 결과는 아래와 같습니다.
  • 패스워드 : 1234
  • 암호화 : $2y$10$hb.7s6pP9znVULT0tLjaWuFhw7peEZ/s/rf.lrcgBfwEkG/tpSWn6
  • 저장된 암호 : $2y$10$hb.7s6pP9znVULT0tLjaWuFhw7peEZ/s/rf.lrcgBfwEkG/tpSWn6

PHP $_SERVER 함수

$_SERVER는 헤더, 패스, 스크립트 위치등의 정보를 저장하는 배열이며, 모든 웹 서버에서 동작한다는 보장은 없다고 합니다.

출처 : http://unabated.tistory.com/entry/PHP-SERVER-%ED%95%A8%EC%88%98

  • $_SERVER['DOCUMENT_ROOT'] = 현재 사이트가 위치한 서버상의 위치 = webappinclude
  • $_SERVER['HTTP_ACCEPT_ENCODING'] = 인코딩 방식 = gzip, deflate
  • $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 언어 = ko
  • $_SERVER['HTTP_USER_AGENT'] = 사이트 접속한 사용자 환경 = Mozilla4.0(compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705
  • $_SERVER['REMOTE_ADDR'] = 사이트 접속한 사용자 IP = xxx.xxx.xxx.xxx
  • $_SERVER['SCRIPT_FILENAME'] = 실행되고 있는 위치와 파일명 = webappincludeindex.php
  • $_SERVER['SERVER_NAME'] = 사이트 도메인 = WWW.X2CHI.COM
  • $_SERVER['SERVER_PORT'] = 사이트가 사용하는 포트 = 80
  • $_SERVER['SERVER_SOFTWARE'] = 서버의 소프트웨어 환경 = Apache1.3.23 (Unix) PHP4.1.2 mod_fastcgi2.2.10 mod_throttle3.1.2 mod_ssl2.8.6 OpenSSL0.9.6c
  • $_SERVER['GATEWAY_INTERFACE'] = cGI 정보 = CGI1.1
  • $_SERVER['SERVER_PROTOCOL'] = 사용된 서버 프로토콜 = HTTP1.1
  • $_SERVER['REQUEST_URI'] = 현재페이지의 주소에서 도메인 제외 =  index.phpuser=&name=
  • $_SERVER['PHP_SELF'] = 현재페이지의 주소에서 도메인과 넘겨지는 값 제외 = index.php
  • $_SERVER['APPL_PHYSICAL_PATH'] = 현재페이지의 실제 파일 주소 = Dwebapp

2015년 2월 14일 토요일

PHP 세션과 쿠키 개념정리

쿠키

  • 필요한 정보(키,벨류)를 서버에서 발행해 클라이언트에 저장합니다.
  • 클라이언트는 (키,벨류) 값을 가지고 서버를 제어 또는 접근합니다.
  • 당연히 (키,벨류) 값이 클라이언트에 저장되기 때문에 해킹에 취약합니다.


세션

  • 서버는 클라이언트에 정보(키,벨류)를 넘기지 않습니다.
  • 다만 정보(키,벨류)에 접근할 수 있는 키값을 넘깁니다.
  • 즉 클라이언트 입장에서는 어떤 키에따른 벨류가 할당되어 있는지 알 수 없으며,
  • 서버는 클라이언트에 발행한 인키를 바탕으로
  • 클라이언트 요청에 따라 서버에 저장된 정보(벨류)를 조회하여 해당 작업을 수행합니다.
  • 당연히 정보(벨류)가 클라이언트에 제공되지 않기 때문에 보안성이 쿠키보다 높습니다.



2015년 1월 2일 금요일

PHP array에 key value 추가하기

PHP의 1차원 배열은

array_push()를 쓰면 됩니다.

<?php
$a=array("a","b");
array_push($a,"c","d");
print_r($a);
?>

그러나 key value로 이루어진 배열은 이게 안되더군요

방법은

<?php
$a = array("a"=>1, "b"=>2);

$a["c"] = 3;
$a["d"] = 4;
?>

이렇게 [] 안에 키값을 넣고 =로 해당 값을 넣으면 됩니다.

2015년 1월 1일 목요일

PHP $_REQUEST

$_REQUEST

GET, POST 방식에 구애받지 않고 데이터를 받는다.

Ex)
 $var_01 = $_GET["test1"];
 $var_02 = $_POST["test2"];


 $var_01 = $_REQUEST["test1"];
 $var_02 = $_REQUEST["test2"];

로 사용할 수 있다.