저는 Apache 웹 서버를 완전히 제어할 수 없고 .htaccess
파일을 통해 부분적으로만 제어할 수 있는 LAMP(CentOS) "공유" 서버 환경을 가지고 있습니다
. SSH를 통해 환경에 액세스하고 사용자 파티션에서 Bash를 사용할 수 있습니다.
그 환경에는 MediaWiki 사이트가 있습니다.
MediaWiki 코어에는 비활성화하고 싶지만 이를 허용하지 않는 일부 기능이 포함되어 있습니다(예: 편집 요약 상자 또는 바닥글 링크를 비활성화할 수 없습니다).
저는 PHP 프로그래머가 아니고 많은 핵심 PHP를 변경하고 싶지 않기 때문에 어떻게든 이러한 함수가 클라이언트에 구문 분석되는 것을 방지하고 싶습니다.
사용자가 CSS 및/또는 JS를 비활성화한 다음 이러한 기능을 사용할 수 있으므로 CSS 및/또는 JavaScript를 통해 이러한 기능을 비활성화하는 것은 옵션이 아닙니다.
PHP 문서가 여전히 유사한 시나리오에서 수행되는 동안 이러한 함수가 구문 분석되는 것을 방지하고 싶습니다. 일부 PHP 함수(마크업 처리용)는
일부 표준(아마도 CSS에 따라)이 실행되기 전에 호출됩니다. class ), 이 함수는 라인이나 루틴이 실행되지 않도록 필터링하므로 원래 구문 분석된 HTML 구조는 구문 분석되지 않지만
PHP 7.3.11에는 이러한 기능이 없습니다.
Bash를 사용하여 구문 분석할 HTML 요소의 구문 분석을 방지하기 위한 조정 사항이 있습니까?
답변1
왜 bash나 다른 종류의 쉘 스크립트를 사용하는지 모르겠습니다. 그것은 그 목적이 아닙니다. 그러고 보면 뭔가를 사용해도예전에는HTML 조작을 위해 특별히 설계된, 소량의 PHP 학습을 피하기 위해 MediaWiki와 사용자 브라우저 사이에 추가 번역 계층을 추가하는 것은 나쁜 생각처럼 보입니다.
대안으로 원하는 HTML을 직접 생성하도록 MediaWiki를 구성하는 것이 좋습니다. 그 외에도 다수의구성 변수, MediaWiki에서는 프로그래밍 가능한 기능도 제공할 수 있습니다.훅운영의 많은 부분을 수정합니다. 예를 들어,스킨템플릿출력페이지BeforeExec후크는 다음을 포함하여 HTML 템플릿으로 들어가는 대부분의 입력을 수정하는 데 사용할 수 있습니다.보행인링크.
후크가 제공하는 유연성이 요구사항에 충분하지 않은 경우, 또 다른 옵션은 자신만의 미디어위키를 만드는 것입니다.피부. 이렇게 하면 HTML 템플릿을 완전히 교체하고 원하는 대로 사용자 정의할 수 있습니다. 하나 있다지도 시간살펴보고 싶은 새 스킨을 만드세요. 하지만 기본적으로 가장 쉬운 방법은 예를 들어 기존 스킨을 복제하는 것입니다.샘플 스킨튜토리얼과 함께 제공되거나 기본적으로 내장되어 있습니다.벡터스킨) 원하는 대로 작동할 때까지 조정하세요.