Webi Blog

웹아이에서 운영되고 있는 블로그입니다.

웹아이 37

[PHP] 원격지 파일 주소 노출 안하고 curl로 다운로드 받기

파일 다운로드를 구현할 때 아주 간단하게 a태그를 이용해서 구현을 합니다. 하지만 그렇게 할 경우 파일 경로가 아주 쉽게 노출이 되어버립니다. 보통 노출되어도 크게 상관없는 경우가 많지만 유료 클래스 상품을 구매한다거나 온라인 컨텐츠를 유료로 판매할 경우에는 파일의 경로가 노출되면 쉽게 공유가 되어버리기 때문에 노출을 막습니다. 물론 스토리지나 CDN 서비스 자체에서 경로를 알더라도 권한을 막아 불가하게 설정할 수 있지만 단순 웹호스팅을 이용하거나 보안 설정이 불가피 할 때 PHP에서 파일 경로를 노출하지 않고 원격지 파일을 다운로드를 받을 수 있는 방법을 포스팅 합니다. // 파일을 받을 권한이 있는 지 체크 if($is_guest) alert('다운로드 권한이 없습니다.'); $filepath = "..

Web/PHP 2021.09.03

PHP를 이용해 AWS S3 스토리지에 파일 업로드 하기

요즘 AWS를 이용해 서버를 구축하시는 분들이 많습니다. AWS에서 제공되는 많은 서비스 중 오늘은 PHP를 이용하여 AWS의 S3 스토리지에 파일을 업로드하는 방법에 대해 포스팅합니다. S3 스토리지에 직접 업로드하는 방식이 아닌 PHP 코드로 파일 URL 또는 Form을 통한 파일 업로드하는 방식입니다. 우선 AWS에서 제공하는 SDK를 설치해야 합니다. AWS PHP SDK : https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html Installing the AWS SDK for PHP Version 3 - AWS SDK for PHP Using PHP with the Suhosin patch is not ..

Server/AWS 2021.08.31

CSS의 기초_세번째(CSS 적용 우선순위)

안녕하세요!웹아이 입니다~ 스타일의 적용 우선순위에 대해서 알아보겠습니다.스타일의 우선순위는단계적으로 우선순위가 정해집니다. 예를 들면 스타일은 단계적으로 적용됩니다. 이렇게 하면,p태그의 글자는 blue 색상으로 적용이 됩니다. 스타일은 단계적으로 적용됩니다. 나중에 쓴 스타일이 적용되는거죠! 하지만 예외가 있습니다.!important이걸 써주게 되면 상황이 바뀝니다. !important 를 써준 스타일이 우선 적용 됩니다. 스타일은 단계적으로 적용됩니다. 이렇게 작성해주면,p태그의 글자는 red가 우선순위로 적용이 됩니다. 스타일은 단계적으로 적용됩니다. 그리고 !important 보다도 우선순위로 적용할수 있는방법이 있습니다.그건..바로 스타일은 단계적으로 적용됩니다. 태그 안에 직접 넣어주는 것이..

Web/CSS 2018.07.11

php 문서내의 자바스크립트 코드를 해석 부탁드림니다.

Q. 1. ploginframe ID(아이디)를 가진 엘리먼트를 보여준다?? 2. window.frames["ploginframe"].location = "plogin.php";는 window.location.href = "plogin.php"; 와 무었이 다르고 사이에 프레임을 넣은 읨는 무었인지?3. document.getElementById("ploginframe").reload(true);는 새로고침인데 history가 남지 않아서 뒤로가기를 할수 없다?? 여기저기 찾아봐서 의미는 대충 알겠는데 정확한 뜻을 알고 싶습니다. A.1. ploginframe ID(아이디)를 가진 엘리먼트를 보여준다?? - ploginframe ID를 가진 앨리먼트를 화면상에 보여줍니다. 예를 들면 레이어 팝업을 예를 ..

Kin 2018.07.06

PHP 구문이 화면에 그대로 출력될 경우 해결 방법!!

서버이전을 하거나 PHP를 새로 설치했을 경우 모든걸 마치고 홈페이지로 접속하는 순간....... PHP 코드들이 똻~~~~~~ 멘붕이 오져..ㅎㅎㅎ 저도 가끔 멘붕이 옵니다... 그럴땐 정신을 차리고!!! 빨리 Putty 접속!!! php.ini 파일을 vi에디터로 열구요~~~ 경로는 다를수 있어요..ㅎㅎ 저같은 경우는 /etc/php.ini 랍니다.. 파일을 여셨으면 /short_open_tag 라고 쳐서 찾아냅니다.... 분명히 short_open_tag = Off 라고 되있으실꺼에요 꼭 그렇게 되어있으셔야하는데..... 이부분을 short_open_tag = On 으로 수정하시면 되요... 이런 문제가 발생하는 이유는.....

Web/PHP 2018.07.02

mysql에 중복을 방지할 수 있는 데이터 타입이 있나요???

Q. INT, DAT, TEXT등등 있잖아요. 저는 회원의 이메일 정보를 입력 받을건데요. 이메일이 중복되는지 확인하고 입력 받기도 하지마, 원래부터 그런 기능이 있는 필드의 데이터 종류가 있는지요... A. 데이터 종류에는 중복방지 필드 타입은 없습니다. 다만 인덱스 설정하는게 있는데 primary, unique, index, fulltext가 있습니다. primary : 중복데이터일 경우 입력 안됩니다. 값이 반드시 들어가야 합니다. (not null) unique : primary와 같은 기능이지만 빈값을 허용합니다. (null) index : select를 빠르게 하기 위한 색인 기능 fulltext : select시 % 검색과 비슷한 기능으로 단어단위로 검색가능하도록 설정해줍니다.

Kin 2018.07.02

랜딩 사이트 디자인 시 작업 사이즈

Q. 랜딩페이지로 디자인을 하려고 하는데 한 화면에 꽉차게 보여지려면 포토샵에서 작업할 때 가로 사이즈 몇으로 해야 할까요? A. 이미지 사이즈가 딱히 정해져있거나 하진 않습니다. 하지만 요즘 큰 모니터 해상도가 대부분 1920px이기 때문에 꽉 찬 화면으로 작업할때는 1920px로 작업하는 경우가 많습니다. 그 이상 해상도까지 커버하려고 더 큰 이미지를 사용할 경우 이미지 용량이 커져 로딩하는데 느려질 수 있습니다.

Kin 2018.07.02