PHP 에코 대 PHP 짧은 태그
안전성면에서 동등합니까? 나는
<?=$function_here?>
덜 안전하고 페이지로드 시간이 느려집니다. 나는 에코를 사용하는 데 엄격하게 편향되어 있습니다.
장점 / 단점은 무엇입니까?
<?
그리고 <?=
짧은 열린 태그라고하며, 항상 (참조 사용할 수 없습니다 short_open_tag
아래 PHP 5.3 (그러나 PHP 5.4.0 이후로 지침)을 <?=
사용할 수 항상).
실제로 PHP 5.3.0과 함께 제공되는 php.ini-production 파일에서는 기본적으로 비활성화되어 있습니다.
$ grep 'short_open' php.ini-production
; short_open_tag
short_open_tag = Off
따라서 배포하려는 응용 프로그램에서 사용하는 것은 좋은 생각이 아닐 수 있습니다. 사용하지 않으면 응용 프로그램이 작동하지 않습니다.
<?php
반면에는 비활성화 할 수 없습니다. 따라서 쓰기 시간이 더 길더라도 이것을 사용하는 것이 가장 안전합니다.
짧은 오픈 태그가 반드시 활성화 된 것은 아니라는 점을 제외하고는 큰 차이가 없다고 생각합니다.
Echo는 일반적으로 사용하는 것이 더 좋습니다.
- 좋은 프로그래밍 스타일을 지원합니다.
- php.ini에서는 끌 수 없습니다 (짧은 태그도 가능).
짧은 태그는 PHP 6에서 제거됩니다.)
그러나 일반적으로 동일합니다. 또한보십시오:
짧은 태그를 사용하는 것이 좋은 아이디어인지 아닌지, 그리고 더 이상 사용되지 않는 것으로 간주되어야하는지 여부에 대한 전체 반 종교적 논쟁을 제외하고, 원래의 질문은 그들이 사용하는 것이 얼마나 안전한지 위험한 지에 관한 것이 었습니다.
간단히 말해서, 짧은 태그를 지원하지 않는 서버에서 사용하면 보안 취약점으로 간주 될 수있는 PHP 코드의 일부가 노출 될 수 있습니다.
http://php.net/manual/en/language.basic-syntax.phpmode.php 상태 :
PHP 5.4부터 짧은 에코 태그는
short_open_tag
설정에 관계없이 항상 인식되고 유효 합니다.
short_open_tag
끄기 또는 켜기는 더 이상 중요하지 않습니다.
이제 걱정없이 템플릿에 다음과 같은 태그를 넣을 수 있습니다.
<?= (($test) ? "val1" : "val2") ?>
이제 공식적으로 "짧은 에코 태그"는 "짧은 태그"와는 매우 다른 것입니다.
PSR의 다른 소스를 광고하기 위해 : http://www.php-fig.org/psr/psr-1/
PHP 코드는 반드시 긴 태그 또는 짧은 에코 태그를 사용해야합니다. 다른 태그 변형을 사용해서는 안됩니다.
지정 :
<?php ?> and <?= ?>
따라서 짧은 오픈 태그를 끄고 기본적으로 활성화하는 옵션을 제거하지 않는 이유는 무엇입니까?
이것은 PHP의 매우 위험한 움직임입니다. 그 이유는 짧은 태그가있는 기존 코드를 PHP6 서버에 넣고 누군가 해당 페이지를 보는 경우 브라우저에 원시 코드를 다운로드하여 볼 수 있기 때문입니다. 이것은 PHP를 심각하게 죽일 수 있습니다.
<\? =를 사용하고 sysadmin / 호스트에게 short_open_tags를 켜달라고 요청해야합니다. 꺼야 할 단점이 없으며 속도 저하도 없습니다. 파서가 <\? 색인 내부에서 <\? php를 찾는 것과 같은 방식으로 바이너리 검색 (아마도
또한 이미 PHP 5.5에서는 <\? =이 기본적으로 켜져 있고 장기적으로는 <\? =이 선호되고 <\? php echo semi는 더 이상 사용되지 않습니다.
아직 surte가 아니라면 .. 약간의 인터넷 검색이 많은 도움이됩니다 = D
참고 URL : https://stackoverflow.com/questions/1386620/php-echo-vs-php-short-tags
'program tip' 카테고리의 다른 글
메모장 ++ 데이터 열을 어떻게 삽입합니까? (0) | 2020.12.04 |
---|---|
Xcode-오류 : pathspec '…'가 git에 알려진 파일과 일치하지 않습니다. (0) | 2020.12.03 |
설치된 Drupal 버전을 찾는 방법 (0) | 2020.12.03 |
NSLocalizedString에서 변수 및 / 또는 매개 변수를 사용할 수 있습니까? (0) | 2020.12.03 |
VS 2010 .net 4.0에서 엔티티 프레임 워크를 사용할 때 'datetime2'오류 (0) | 2020.12.03 |