ASP - Určete, zda aktuální skript je spuštěn jako například:

hlasů
2

Řekněme, že mám tyto stránky:

# Include.asp
<%
Response.Write IsIncluded() & <br>

%>

# Outside.asp
<!--#include file=Include.asp --> 

Musím to fungovalo tak, že když jsem přístup http://Example.com/Include.asp přímo vidím, „True“, ale když jsem přístup http://Example.com/Outside.asp vidím False. Já bych perfer nebude muset přidat něco k Outside.asp. Může někdo vymyslet způsob, jak vytvořit takovou funkci IsIncluded ASP? Byl jsem schopen vytvořit takovou funkci v PHP porovnáním __FILE__se $ _SERVER [ ‚PHP_SELF‘], ale že zde nebude fungovat becasue ASP nemá nic podobného __FILE__, že jsem si vědom.

Položena 26/08/2009 v 23:06
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Zkuste zkontrolovat URL požadované a zápas proti include. Příklad poskytnuty v JavaScriptu

function IsIncluded() {
  var url = String(Request.ServerVariables("URL"));
  url = url.substring(0, url.indexOf("?")).substring(0, url.indexOf("#")).substr(url.lastIndexOf("/"));
  return (url == "Include.asp")
}
Odpovězeno 27/08/2009 v 03:11
zdroj uživatelem

hlasů
0

Obecně v ASP není jeho dobrým zvykem mít zahrnout soubor také k dispozici jako něco, co může být načteny klientem. Pokud si konkrétně chcete zabránit klienta načítání include file poté najetí obsahuje ve složce (nazývané říkat „obsahuje“), pak zablokovat přístup do této složky v IIS.

OTH pokud chcete, aby uživatel, aby mohl získat přístup k souboru zahrnout do značné míry, jak to je, a také umožnit další stránky, aby zahrnovala to pak vytvořit stránku „host“ pro zahrnutí. Např:-

# /Includes/Include.asp
<%
%>

# IncludeHost.asp
<!-- #include virtual="/Includes/Include.asp" -->

# Outside.asp
<!-- #include virtual="/Includes/Include.asp" -->
<%
   '' #Other content/code here
%>

Dalo by se nyní přesunout kód a obsah, které byly jedinečné „include.asp“, když to bylo přímý přístup k souboru IncludeHost.asp.

Odpovězeno 28/08/2009 v 10:51
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more