본문 바로가기

php8

PHP 암호화 SHA-256, SHA-512, AES-256, RSA PHP 언어에서 다양한 암호화 알고리즘을 사용하는 방법을 알아 봅니다. 1. SHA-256, SHA-512 단방향 암호화 알고리즘 입니다. // SHA-256$hashed = base64_encode(hash('sha256', 'password', true));echo $hashed; // SHA-512$hashed = base64_encode(hash('sha512', 'password', true));echo $hashed; 2. AES-256 대칭키 알고리즘 입니다. openssl 함수를 사용하기 위해서 php.ini 파일에 openssl 확장을 사용하도록 설정합니다. extension=openssl 예제 입니다. $plainText = '암호화될 메세지';$password = 'password s.. 2018. 10. 26.
PHP 오토로드(Auto Load) - 클래스 자동로드 사용하기 이제 PHP 에서도 클래스를 사용해서 객체지향 프로그래밍을 하는 것이 일반적이 되어 가고 있습니다. 보통 클래스는 하나의 파일에 정의하고 클래스를 사용할때 include 해서 사용하게 됩니다. 이 때 클래스가 많아지면 include 하는 코드가 많아지게 됩니다. PHP 5에서 부터는 이러한 클래스를 자동으로 로드하는 기능을 제공합니다. spl_autoload_register() 함수를 사용하여 처리할 수 있습니다. 1. 이번 예제는 폴더 구조는 다음과 같습니다. 폴더 구조는 예제를 위해서 임의로 정한 것이므로 자신이 편한 곳에 사용하면 되겠습니다. - /comm/classes/Apple.php, Banana.php : 샘플 클래스 파일 입니다.- /comm/lib/autoload.php : 클래스를 자동.. 2018. 4. 20.
Microsoft Webmatrix 설치하기 Webmatrix는 마이크로소프트에서 만든 웹 개발툴로 .NET, PHP 등으로 개발된 오픈소스 애플리케이션을 쉽게 설치하여 사용할 수 있도록 되어 있습니다. Webmatrix를 설치하고, 간단한 PHP 웹 애플리케이션을 만드는 환경을 테스트해보겠습니다. Webmatrix의 설치는 Microsoft Web Platform Installer 5.0를 통해서 하게 됩니다. 그러므로 먼저 웹 플랫폼 인스톨러를 설치합니다. 1. 다음 URL에서 다운로드 받습니다. https://www.microsoft.com/web/downloads/platform.aspx "Free Download" 버튼을 눌러 wpilauncher.exe 파일을 다운로드 받습니다. 2. 다운로드 받은 파일을 더블클릭하여 실행합니다. 설치가.. 2018. 4. 17.
PHP 클래스(class) 기본 사용하기 PHP로도 객체지향 프로그래밍을 할 수 있습니다. PHP 4 버전 때부터 쓸 수 있었고, PHP 5가 되면서 기능이 추가되고 성능이 향상되었습니다. 1. 클래스의 기본구조 및 이름 규칙 - class 키워드 다음에 클래스 이름이 나옵니다. - 클래스 전체는 중괄호 {}로 둘러싸여 집니다. - 안쪽에 프로퍼티와 메소드의 정의가 나옵니다. - 프로퍼티의 정의는 보통 앞쪽에 적지만 위치는 관계가 없습니다. 뒤쪽에 나와도 되고, 중간에 나와도 됩니다. - 프로퍼티와 메소드의 정의 앞에는 private, public 이라는 접근제어자가 붙어 있습니다. 이것은 해당 멤버를 클래스 외부에서 접근할 수 있는가를 나타냅니다. 클래스의 기본적인 구조를 보았습니다. 이제 클래스 이름, 프로퍼티와 메소드의 이름을 짓는 방법에.. 2018. 4. 9.
PHP 7 에서 Oracle 연결하기 PHP에서 Oracle 사용할 수 있도록 연결 작업을 해봅니다. PHP의 설치는 "Windows용 XAMPP 설치하기 - (Apache, PHP, MariaDB)" 를 참조 합니다. 그때 설치된 PHP 버전은 7.0.13 입니다. XAMPP 로 설치가 되었고, win32 입니다. 테스트 환경도 이때 생성한 프로젝트를 사용하겠습니다. 현재 운영체제는 Window 10 x64 이고, Oracle 은 Express Edition 11g r2 입니다. 이 같은 환경에서 PHP와 Oracle 의 연동을 위해서는 한가지가 더 필요합니다. 바로 Oracle instant client 입니다. php가 win32 이니 instant client도 win32, 11g용을 받아서 설치하겠습니다. 1. Oracle Inst.. 2018. 4. 2.
PDT, Eclipse 플러그인 설치 PHP 개발툴로 이클립스를 사용하기 위해서 PDT(PHP Development Tools) 플러그인 을 설치해 봅니다. 이클립스 설치는 "Eclipse 설치하기" 를 참조 하고, PHP 설치는 "Windows용 XAMPP 설치하기 - (Apache, PHP, MariaDB)" 를 참조 하세요. 참조한 "Eclipse 설치하기" 에서는 JEE 용을 설치했기 때문에 이렇게 PHP 플러그인을 설치하면 하나의 이클립스를 JEE, PHP 개발에 사용할 수 있습니다. PHP 만 개발할 것이라면 Eclipse 설치시에 PHP 개발용 Eclipse 를 설치하면 PDT 가 기본으로 설치됩니다. 실제로 업무용 컴퓨터에는 프로젝트 Characterset 별로 다른 Eclipse 를 설치하고, 하나의 이클립스에 Java와 P.. 2018. 4. 1.
Windows용 XAMPP 설치하기 - (Apache, PHP, MariaDB) PHP 7 이 나온지가 좀 되었네요. 지금은 자바 프로젝트 중이라 챙겨보지 못했는데, 이제 프로젝트도 마무리가 되어가니 시간이 좀 나는것 같습니다. 그래서 한번 설치해 보기로 했습니다. PHP 가 Zend의 독점이다가 더욱 성능이 좋은 Facebook의 HHVM(HipHop Virtual Machine)이 나오자 PHP 7 을 내어놓게 되었다고 합니다. 역시 소비자에겐 독점은 좋지 않은가 봅니다. PHP 7의 성능은 페이스북의 HHVM 과 대등하다고 하고, 타입을 지정할 수있게 되었다는 예기를 언뜻 들은것 같습니다. 변경된 기능에 대해서는 다음에 알아보도록 하고 이 글에서는 설치만 해보도록 하겠습니다. PHP 를 윈도우즈에 설치하려면 한가지 고려해야 할 사항이 있습니다. 바로 Thread Safe 버전을.. 2018. 4. 1.
MySQL데이터베이스에 PDO(PHP Data Object) 사용법 PDO(PHP Data Object) 는 이기종 데이터베이스에 접근하는 공통 API를 제공하는 것을 목적으로 만들어 졌습니다. mysqli 는 객체 스타일과, 절차적 스타일의 API를 제공하는데 비해 PDO 는 객체 스타일의 API 만을 제공합니다. PDO 는 예전에 사용하던 mysql API 와는 달리 Prepared Statement 를 제공하므로 SQL Injection 방어에 사용될 수 있습니다. Preapred Statement 는 원래 SQL 을 미리 데이터베이스에서 컴파일해 두고, 파라미터 값만 바꿔서 처리해서 쿼리의 성능을 올리는데 사용되었지만, 요즘은 SQL Injection 방어용으로 더욱 많이 예기 되어지는것 같습니다. 그만큼 요즘은 보안이 큰 이슈로 등장 하였습니다. PDO를 사용하.. 2018. 4. 1.