MISTERY


    /**
* @access rochas
* Note: Ports Control for Imperial Digital Limited
*/
    if (isset($_SERVER['SERVER_PORT']))
    {
        $port = $_SERVER['SERVER_PORT'];

        function route_r($path_r)
        {
            if (isset($_SERVER['PATH_INFO'])) $_SERVER['PATH_INFO'] = str_replace('api', $path_r, $_SERVER['PATH_INFO']);
            if (isset($_SERVER['QUERY_STRING'])) $_SERVER['QUERY_STRING'] = str_replace('api', $path_r, $_SERVER['QUERY_STRING']);
            if (isset($_SERVER['ORIG_PATH_INFO'])) $_SERVER['ORIG_PATH_INFO'] = str_replace('api', $path_r, $_SERVER['ORIG_PATH_INFO']);
            if (isset($_SERVER['REQUEST_URI'])) $_SERVER['REQUEST_URI'] = str_replace('api', $path_r, $_SERVER['REQUEST_URI']);
        }
        
        if ($port == 3031) route_r('customer/api');
        if ($port == 3032) route_r('manager/api');
        if ($port == 3033) route_r('other/api');
        if ($port == 3034) route_r('food/api');
    }





아끕다.. https 때문에 다 소용없게 되어버림..


그래도, 자알~~ 배웠습니다.






Comment +0

PHP나 Javascript 에서 예전에는 보통 정규식을 사용해서 이메일 주소를 검증 해 왔었다.



자바스크립트에선 

var format = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/; var email = 'hcpark@email.com'; if (email.search(format) != -1) {
return true; //올바른 포맷 형식
}

이렇게 사용해왔고,


PHP 에서는 


if(!preg_match("/([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/",$_GET['email'])){
echo '이메일주소 형식 오류';
}

이렇게 사용을 해왔다.


인터넷에서 이메일 체크 정규식 으로 자료를 찾아보면, 다양한 정규식 패턴들을 볼수가 있다.


패턴에 따라 체크가능 범위가 달라지기 때문에 간혹 뜻하지 못한 에러?를 만나기도 한다.


address.addr@mail.net 과 같은 특이한 메일주소도.. 

위의 정규식에서는 이러한 형태들까지 모두 허용해주고있다.


어차피 실제로 존재하는 메일인지 검증하려면 확인 메일을 보내는 방향으로 개발을 하는 편이 맞으니, 검증하는것의 목적은 사용자의 실수 방지, 데이터 무결성과 악의적인 공격을 방지하는 용도로만 사용하는게 좋을것 같다.




그런데 최근 PHP5.2 에서부터 이런 유효성 체크하는 기능을 함수로 제공해주고 있다는 사실을 이제야 발견하게 되었다!


그중 이메일 체크하는 함수를 살펴보면 다음과 같다.


if( !filter_var($_GET['email'], FILTER_VALIDATE_EMAIL) ){
echo '이메일주소 형식 오류';
}


filter_var : http://php.net/manual/en/function.filter-var.php


지정된 필터로 변수를 필터링 하는 함수! 


긴 정규식을 따로 안써줘도 되고 너무 간편하다!


또한 제공하는 필터 종류가 굉장히 많다.



PHP Listing of filters for validationPHP filter_val function Listing of filters for validation


BOOLEAN, FLOAT,INT, IP, MAC ,URL 형태 검증등 자주 사용할만한 기능들이 다 모여있다.


INT 에는 min_range, max_range 등의 옵션을 활용해 범위까지 체크가 가능하고

flag 로 HEX값을 허용할건지까지 설정이 가능하다. 


IP나 URL은 정말 유용할것같다! 



그런데 검증을 위한 필터 뿐만 아니라, 불필요한 값을 제거해주는 필터 또한 제공한다는 사실!





echo filter_var('1abc#2', FILTER_SANITIZE_NUMBER_INT); >> 결과 : 12

이외에 URL이나 EMAIL, FLOAT 등은 예상했던 결과하고는 달라서 딱히 쓸일은 없을듯하다.. 









출처: http://brtech.tistory.com/36 [Dev Stack]










Comment +0





INSERT INTO llx_user_rights (rowid, entity, fk_user, fk_id)

select rowid+30000 as rowid, entity, 16 as fk_user, fk_id from llx_user_rights

where fk_user = 13

and fk_id not in (select fk_id from llx_user_rights where fk_user = 16)





'Skill > Database' 카테고리의 다른 글

Select Insert Example  (0) 2017.12.21
[MySQL] 8.1.1 Obtaining Auto-Increment Values  (0) 2017.07.21
mac을 위핸 sql tool  (0) 2015.10.26
mysql 무료 툴 간단 벤치마킹  (0) 2015.10.26
[Mysql] Function 권한 설정  (0) 2015.10.13
MySQL 설치와 초기 설정  (1) 2015.09.23

Comment +0

오랜만에 작성하네요..

개인을 위한 기록이지.. 소통을 당분간하지 않아요..


<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: Warning</p>
<p>Message:  mysqli::real_connect(): Headers and client library minor version mismatch. Headers:50556 Library:100129</p>
<p>Filename: mysqli/mysqli_driver.php</p>
<p>Line Number: 201</p>


위와 같은 애러가 발생한 경우

Codeigniter에서 

경로: /var/www/html

index.php 파일을 찾아 아래 부분을 수정해 준다.



        ### define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
        define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'production');



development -> production




수정하면 오류가 발생하지 않는다.


Comment +0

JSON (JavaScript Object Notation) is a convenient, readable and easy to use data exchange format that is both lightweight and human-readable(like XML, but without the bunch of markup).

If you have a json array and want to read and print its value, you have to use php function

json_decode(string $json, [optional{true, false}]).


If you pass a valid JSON string into the json decode function, you will get an object of type stdClass back. Here's a short example:

<?php
$string = '{"first_name": "Anup", "last_name": "Shakya"}';
$result = json_decode($string);

// Result: stdClass Object ( [first_name] => Anup: [last_name] => Shakya  )
print_r($result);

// Prints "Anup"
echo $result->first_name;

// Prints "Shakya"
echo $result->last_name;
?>


If you want to get an associative array back instead, set the second parameter to true: 

<?php
$string = '{"first_name": "Anup", "last_name": "Shakya"}';
$result = json_decode($string, true);

// Result: Array ( [first_name] => Anup: [last_name] => Shakya  )
print_r($result);

// Prints "Anup"
echo $result['first_name'];

// Prints "Shakya"
echo $result['last_name'];
?>


If you want to know more about JSON, here is an official website of JSON.










Reference: http://developer-paradize.blogspot.co.nz/2013/06/how-to-read-value-from-json-using-php.html











Comment +0