2010-03-08 5 views
8

고객을 위해 ASP.NET 프로그램을 작성했습니다. master.master 페이지에서 "Preview version, ABD Consulting"과 유사한 메시지를 추가하려고합니다. Response.write를 사용하려고 생각했지만 모양이 엉망입니다. 페이지의 elemets를 이동하는 것으로 보입니다. 레이블을 사용하면 고객이 Master.master 파일에서 제거 할 수 있습니다. 제안 사항은 무엇입니까? 고객이 다른 나라에 있기 때문에 돈을 받고 싶습니다.ASP.NET 최종 사용자가 메시지를 제거하지 않고 화면에 메시지를 작성하려면 어떻게합니까?

많은 감사합니다.

+0

고객이 소스를 가지고 있거나 갖지 않았 음을 명확히 할 수 있습니까? 그것은 그들이 마스터 파일을 편집 할 수있는 방법입니까? –

답변

5

자신의 서버에서 제공하십시오. 미리보기 인 경우 어쨌든 코드에 액세스하면 안됩니다.

0

dll에서 Obfuscate하고 Current Context를 사용하여 StackOverflow.com이 위에 사용하는 것과 같은 예쁜 div를 작성하십시오.

+1

하지만 클라이언트에 의해 약간의 CSS 및/또는 JS로 제거 될 수 있습니다. –

3

호스트하거나 실행중인 웹 서버를 제어하지 않으면 수행 할 수있는 작업이 없습니다. 그들이 현명하다면 코드에서하는 일은 중요하지 않습니다. 그들은 HTTP 핸들러를 작성하고 원하는 모든 것을 바꿀 수 있습니다.

1

OnPrerender 또는 페이지 렌더링 중에 프로그래밍 방식으로 레이블을 쓰는 경우 클라이언트는이를 제거 할 수 없습니다. 그런 다음 요소에 부여 된 ID를 무작위로 선택하면 특히 스타일을 직접 추가하는 경우 자바 스크립트 함수 나 CSS 스타일을 적용하기가 매우 어렵습니다. 이 (의사 코드) 같은

뭔가 : 당신이 다음 절대적으로 위치하는 경우

HtmlGenericControl label = new HtmlGenericControl("div"); 
label.ID = Guid.NewGuid().ToString(); 
label.InnerText = "My copyright or ownership text"; 
label.Style.Add(HtmlTextWriterStyle.Height, "50px"); 
label.Style.Add(HtmlTextWriterStyle.Width, "100px"); 

항상 표시해야한다. 완전히 건드리지 않고 어리석은 증거는 아니지만 클라이언트가 클라이언트를 제거하려고 시도하지 않을 정도로 열심히하고 싶습니다.

+0

또한 강력한 이름 지정 및 서명 된 어셈블리는 대담한 해킹 원정대가 DLL의 문자열 상수로 들어가는 것을 방지하기에 충분해야합니다. –

+0

그러나 소스의 일관된 위치에 렌더링 된 경우 자바 스크립트를 통해 제거하는 것이 매우 쉽습니다. 태그, 클래스, ID 및 소스 내의 위치를 ​​무작위로 추출하십시오. –

0

저는 George와 Rick과 함께합니다. 귀하가 제어하는 ​​서버에서 소스를 가져 와서 제공하지 마십시오. 또한 "데모"라는 배경 이미지를 만들었습니다. 이것은 그들이 지불 할 필요가 있음을 상기시킵니다.

관련 문제