브라우저에 http로 접속 했을 때 http로 리다이렉션을 할려면 아파치 설정에서 리다이렉션을 하거나 백엔드에서 리다이렉션을 해야 합니다.

cloudflare를 이용하면 좀 더 편하게 할 수 있습니다.


URL은 www.도메인/*
설정 선택은 항상 https사용을 선택해서 page rule 저장 선택 한 뒤 소유한 도메인 URL을 브라우저에서 접속하면 https로 리다이렉션 되는 것을 볼 수 있습니다.

해외에서 서버로 접근을 시도하는 경우가 있고, 로그를 확인하여 보면 악의적인 접근 시도 일 때가 있습니다.

이러한 공격 시도를 막기 위해서 방화벽을 설정합니다.
중국 발 공격을 막기 위해서는 geoip(https://dev.maxmind.com/geoip)를 이용해서 중국 발 아이피 대역을 막기도 하지만 설정에 불편함이 있습니다.


cloudflare에 가입을 하고 난 뒤 DNS에서 도메인을 등록해야 합니다.

도메인 등록이 되었다하더라도 도메인 인증이 된 후 사용이 가능합니다.
인증 후 좌측 Security 선택 WAF에서 중국을 선택한 후 block을 선택하면 됩니다.

홍콩은 따로 추가를 해야 합니다.
이렇게 한 뒤 deploy를 선택하면 적용이 됩니다.

$_SERVER는 개발 작업을 할 때 쓰이지 않는 곳이 없을 정도로 널리 사용되고 있는 PHP에서 정해진 예약 변수입니다.
print_r($_SERVER)이나 var_dump($_SERVER)를 해보시면 아시겠지만 배열 형태로 되어 있습니다.

  • $_SERVER['HTTP_HOST']
    도메인 부분에 대당 합니다.
    테스트 서버 도메인과 실서버 도메인이 다를 때 $_SERVER['HTTP_HOST']를 사용하면 실서버로 이전 했을 때 별도의 작업이 필요 없습니다.
  • $_SERVER['PHP_SELF']
    도메인 뒤에 경로 입니다.
    https://google.com/shop/product.php
  • $_SERVER['QUERY_STRING'] 
    쿼리스트링 부분 입니다.
    예)?stx=abcd
  • $_SERVER['REMOTE_ADDR']
    접속된 사용자의 공인 아이피입니다.
  • $_SERVER['DOCUMENT_ROOT']
    httpd.conf 에 설정된 웹서버의 루트 디렉토리입니다.

온라인 게임을 하다가 갑자기 블루스크린이 뜨면서 video tdr failure 라고 뜨면서 재부팅이 되었습니다.
온라인 게임이라서 신고 당하지 않을까 했지만 다행히 신고는 당하지 않았습니다.

시도 했던 방법을 몇 가지 적어 보겠습니다.
1. video에러 라고 떠서 nvidia 그래픽 카드 드라이버를 완전 삭제
DDU(Display Driver Uninstaller)
https://www.wagnardsoft.com/display-driver-uninstaller-DDU-

 

Display Driver Uninstaller (DDU)

Drivers removal utility and other tools.

www.wagnardsoft.com

삭제 후 최신 드라이버 설치

2. 비디오 카드 전원 뺐다 꼽아 봤습니다.
3. 램을 뺐다 꼽아 봤습니다.
4. 비디오 카드 팬에 쌓여 있던 먼지를 제거 했습니다.
5. 제어판 > 사운드 드라이버 사용하지 않기로 변경

윈도우 키 + S > 장치관리자 > 사운드, 비디오 및 게임 컨트롤러 부분에 nvidia 사운드는 사용하지 않으므로 사용하지 않기로 했습니다.

6. 모니터와 비디오 카드(=그래픽카드)는 HDMI로 연결되어 있는데, 다른 HDMI로 연결 해봤더니 잘 되고 있습니다.

'tech > windows' 카테고리의 다른 글

실제로 꼽힌 램 보다 적게 인식이 된다면?  (0) 2020.03.25
파일 찾기  (0) 2016.10.04
MS WINDOWS 7 설치 할 때 0X80300001에러  (3) 2012.02.27

조건에 따라서 다른 실행이나 변수에 담는 여러가지 행위를 할 때 보통은 if를 사용하는 경우가 있습니다.
때에 따라서는 switch가 더 클린한 코드를 만들수 있습니다.

*if

if($condition){
	$res = 1;
}else{
	$res = 2;
}

*switch

switch($condition){
	case "1" : $res = "1"; breack;
	case "2" : $res = "2"; breack;
}

물론 if도 짧게 가능 합니다.

if($condition) $res = 1;
else $res = 2;

혹은 삼항 연산자도 가능합니다.

$res = ($condition) ? 1 : 2;

사용자 정의 함수에 값을 가져 오는 방법은 여러가지가 있습니다.

function inside(){
	$month = "12";
	return $month;
}

위의 사용자 정의 함수는 inside를 실행하면 12가 있습니다.

$prefix = "month : ";
function inside($prefix){
	$month = "12";
	return $prefix.$month;
}

인자 값으로 $prefix의 값을 넣을수 있습니다.
인자 값에는 문자열뿐만 아니라 배열도 가능 합니다.

$prefix = array("year", "month", "day");
function inside($prefix=array()){
	$month = "12";
	return $prefix[0].$month;
}

인자 값과는 별도로 글로벌로 가져 올려면 아래와 같습니다.

$prefix = "month : ";
function inside(){
	global $prefix;
    
	$month = "12";
	return $prefix.$month;
}

'tech > PHP' 카테고리의 다른 글

자주 사용하는 $_SERVER  (0) 2023.12.04
또 다른 조건문 switch  (1) 2023.10.25
문자 변환, 변경, 치환  (0) 2023.10.22
PHP의 데이터 타입(data type)  (0) 2023.10.20
자바스크립트에는 없는 PHP 연관 배열  (0) 2023.10.19

PHP에서 문자 변경이나 치환, 공백 처리 할 때 str_replace를 사용 합니다.

<?php
echo str_replace("world","Peter","Hello world!");
?>

실행을 하면 Hello world!가 Hello Peter로 변경되어 있습니다.

1. 스트링(String)

<php
$hello = "hello world";
$hello2 = 'hello world';
echo $hello;

싱글 쿼트, 더블 쿼트 모두 스트링 타입입니다.

2. 인티저(Integer)
음수와 0, 양수입니다.(-2,147,483,648~2,147,483,647)

$number = "12";
echo (int)$number;

(int)를 추가하면 int형으로 캐스팅 됩니다.(형변환)

3.플로트(Float)

$float = 11.2;

4. 불리언(Boolean)

$check = true;
$check = false;

5. 배열(Array)

$arrays = array();

6. 객체(Object)

$color = new color("black", "white");

7. NULL

$is_null = null;

자바스크립트에서는 연관 배열이 없기 때문에 배열은 index와 index의 값을 가질수 있습니다.

var shopping = ["bread", "milk", "cheese", "hummus", "noodles"];
console.log(shopping);

연관 배열 처럼 할려면 javaScript에서는 Object를 사용해야 합니다.


아래는 PHP 배열 입니다.

$association = array("val" => 1, "txt" => "연관배열");
$association = array(
	array("val" => 1, "txt" => "연관1"),
	array("val" => 2, "txt" => "연관2"),
);

 

'tech > PHP' 카테고리의 다른 글

문자 변환, 변경, 치환  (0) 2023.10.22
PHP의 데이터 타입(data type)  (0) 2023.10.20
글자 길이가 길 때 글자 줄이는 방법(...)  (0) 2023.10.18
filter_var 숫자(int) 체크  (0) 2023.10.16
특정 날짜의 요일 구하기  (0) 2023.10.07
$str = "글자가 깁니다.글자가 깁니다.글자가 깁니다.글자가 깁니다.글자가 깁니다.";
$s_all = mb_substr($str, 0, 30, 'utf-8');
$suffix = "...";
if(strlen($s_all) >= strlen($s_all)) $suffix = "";
echo $s_all.$suffix;

보통은 텍스트가 길 때 ... 처리를 하게 되는데, 가끔 PHP에서 해야 할 때가 있습니다.
이런 경우 사용하면 됩니다.

+ Recent posts