내 웹 사이트에서 내 포럼에 BBCode를 사용할 수 있지만 일부 사용자는이를 악용하여 이미지 소스를 사용자에게 "존중 포인트"로 제공하는 페이지로 사용하고 있습니다. [img] 태그 안에있는 URL이 웹 페이지가 아닌 실제 이미지인지 확인하는 방법이 있는지 궁금합니다. 나는 "getimagesize"함수가 여기서 유용 할 수 있다고 생각했지만 실제로 이미지인지 그리고 정규 표현식으로 파싱 할 수있는 적절한 방법을 찾지 못했습니다. 일부 이미지는 내 웹 사이트에 파일 확장명이 없기 때문에 파일 확장명을 확인하는 것을 선호합니다. 이것에 대한 통찰력?PHP [Img] BBCode, 이미지가 실제 이미지 인 경우에만 표시 하시겠습니까?
0
A
답변
0
getimagesize()가 좋습니다. TIFF는 물론 모든 인기있는 웹 이미지 형식을 지원합니다. 내가 생각할 수있는 유일한 예외는 SVG입니다.
이 외에도 특정 페이지에 액세스하지 못하도록 차단 목록을 설정해야합니다. 여기
<?php
function validURL($url){
$bad = array("respect.php","website.com","etc");
/* Check each array element to see if it is in the URL */
foreach($bad as $fail){
if(strpos($url,$fail) !== FALSE){
return false;
}
}
return true;
}
if(validURL($url) && getimagesize($url) !== FALSE){
// Valid image
} else {
// Strip url
}
?>
의 핵심은 그 if 문 validURL()가 false를 반환하는 경우 짧은에서 것이다. 이렇게하면 getimagesize()가 잘못된 URL에 액세스하는 것을 방지 할 수 있습니다.
관련 문제
- 1. 이미지가 없으면 텍스트를 표시 하시겠습니까?
- 2. 포함되지 않은 경우에만 표시 하시겠습니까?
- 3. IMG 맵을 사용하여 큰 이미지 표시
- 4. 이미지가 div에서 실제 이미지 크기보다 훨씬 큽니다.
- 5. PHP BBCode 파서
- 6. PHP : SQL 선택이있는 BBCode?
- 7. PHP BBCode 및 링크
- 8. 실제 이미지의 크기로 UIImageViews 이미지 표시
- 9. 확장명을 지정하지 않고 IMG 요소에 이미지 표시
- 10. 아약스 이미지 업로드 및 img thumb 표시
- 11. ckeditor, PHP, 이미지 표시 문제
- 12. PHP 메일() 및 이미지 표시
- 13. PHP/Apache의 이미지 표시 권한
- 14. 이미지가 원격 디렉토리에있을 때 PHP로 이미지 표시
- 15. 실제 이미지가로드 될 때까지 아약스 로더 이미지 표시
- 16. ColdFusion을 사용하는 링크가없는 경우에만 링크를 표시 하시겠습니까?
- 17. Android : img 태그에 캡처 된 이미지 표시
- 18. Drupal 6에서 링크가 아닌 실제 첨부 파일을 표시 하시겠습니까?
- 19. 디자인 도중 이미지 표시
- 20. 다중 이미지 페이드 인/아웃 JQuery PHP
- 21. 표시 이미지
- 22. 주어진 이미지 내용의 PHP 이미지 표시
- 23. PHP 조건부 - 문자열에 값이있는 경우에만 표시?
- 24. 이미지가있는 경우 표시 이미지 다른 이미지 표시 + 이미지 경로
- 25. 파이썬에서 중첩 bbcode 따옴표를 제거 하시겠습니까?
- 26. 이미지 배경과 img 태그가있는 div
- 27. html2pdf 라이브러리에 이미지 표시
- 28. img 태그의 ismap 속성의 실제 목적은 무엇입니까?
- 29. 이미지가 마치 이미지 인 것처럼 테이블을 감싸는 방법
- 30. 방법 : 서버의 실제 파일 이름과 다른 이미지 파일 이름 표시
'getimagesize()'를 사용할 수는 있지만 .tiff 이미지 등을 포함 할 수 없습니다. JPG, PNG 만 지원하며 BMP 또는 GIF를 사용합니다. 이미지의 MIME 유형에'image /'가 포함되어 있는지 확인할 수 있습니다. – Bojangles
모든 페이지로드/새로 고침시 실제 이미지인지 확인하려는 경우 생각할 수있는 최악의 아이디어입니다. "존경 포인트"스크립트에 약간의 sessionid/맞춤 매개 변수 체크를 추가하십시오. – Shocker
짧은 대답 : 할 수 없습니다. 주인은 요청이 당신에게서 왔는지를 검사 할 수 있습니다. 그렇다면 다른 사람들을 투표로 리디렉션하면서 이미지를 제공 할 수 있습니다. 이 문제를 해결하는 방법은 GET 요청을 통해 어떤 작업도 허용하지 않는 것일 수 있습니다. – Qtax