서버에서 데이타를 가져올 때

서버에서 데이타를 가져올 때

QA

서버에서 데이타를 가져올 때

본문

서버에서 데이터를 가져 올 때 해당 페이지마다

 

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "dbname";

 

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) { 

    die("Connection failed: " . $conn->connect_error);

 

이렇게 서버에 접속해야 하나요?

그리고 이런 서버 정보가 저장되어 있는 파일은 어떻게 하면 보안이 되나요?

완전초보 질문인데 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 1

그누보드5 버전을 참조하세요.

그누보드5 에서는 data/dbconfig.php 파일 안에 데이터베이스 정보를 저장하고 있습니다.

예를 들면

<?php
if (!defined('_GNUBOARD_')) exit;
define('G5_MYSQL_HOST', 'localhost');
define('G5_MYSQL_USER', 'root');
define('G5_MYSQL_PASSWORD', 'autoset');
define('G5_MYSQL_DB', 'db_01');
define('G5_MYSQL_SET_MODE', true);

와 같은 형태로 구성이 되어 있고요.

if (!defined('_GNUBOARD_')) exit; 에서 상수 정의를 통해서 개별 페이지로 접근을 막아주고 있습니다.

물론 여기에서 사용하는 상수인 _GNUBOARD_는 config.php 파일에서

define('_GNUBOARD_', true); 로 정의되어서 config.php 파일을 호출하지 않는 개별파일은 접근을 막고 있습니다.

그리고 DB정보는 사용시마다 적어주는 것이 아니라 include로 호출해서 사용합니다.

이 부분은 common.php파일에서

$dbconfig_file = G5_DATA_PATH.'/'.G5_DBCONFIG_FILE;
if (file_exists($dbconfig_file)) {
    include_once($dbconfig_file);
    include_once(G5_LIB_PATH.'/common.lib.php');    // 공통 라이브러리

    $connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!');
    $select_db  = sql_select_db(G5_MYSQL_DB, $connect_db) or die('MySQL DB Error!!!');

    // mysql connect resource $g5 배열에 저장 - 명랑폐인님 제안
    $g5['connect_db'] = $connect_db;

    sql_set_charset('utf8', $connect_db);
    if(defined('G5_MYSQL_SET_MODE') && G5_MYSQL_SET_MODE) sql_query("SET SESSION sql_mode = ''");
    if (defined(G5_TIMEZONE)) sql_query(" set time_zone = '".G5_TIMEZONE."'");
}

처럼 구성된 내용이 있는 common.php파일을 DB정보와 연결이 필요한 파일에서 include해서 사용하고 있습니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 4

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT