掌中妖夫 雾矢翊:如何在<!--#include 中调用数据库中的超连接

来源:百度文库 编辑:高考问答 时间:2024/05/01 08:44:40
现在由于网页内容需要,根据不同的用户,显示其不同的个人介绍,而由于程序原因,这个个人介绍,是用户自己设计并上传的一个ASP网页,所以在显示其个人信息的时候,就需要调用这个上传的文件,而用户上传的文件,记录在数据库中,(比如USER/2006032612245401.asp),所以需要在网页中使用<!--#include 来调用,请问有什么方法,可以实现这一功能呢?现在好像<!--#include 不能直接调用数据库中的连接,请问如何解决这个问题.谢谢

你好,要注意一点,ASP中用<!--include 语句是在所有程序执行前最先读取的。所以你在判断用户前是没有办法得知道具体要调用什么网页的。所以用<!--include并不可行。
解决的办法有下面几个:
1.使用iframe。在<ifrmae src=后面的语句可以动态的使用<%%>,从页也达到动态显示的目的。但做IFRMAE有几个致命的缺,会导致页面布局难看,会多占用IIS连接数,还必须要有浏览器支持。
2.让用户上传JS格式的记录文件,那在程序中直接可以用<script src=<%...%>来调用了。但这样做显然也有弊端,就是要求用户上传的文件必须是JS语句,否则就会在浏览器上显示语法错误。
3.可以把用户的文件通过FSO读取后直接加入到你的网页中,这样就可以和你的网站联成一个整体,原理其实是和<!--include差不多的。但是也要注意两点,首先用户提交的网页中如果有错误,比如<table>后没有</table>就有可能损坏你整个网页的显示。第二,上传的文件不能包括头原素,比如<title></title>,<body></body>,<html></html>,所以你还是需要审核用户上传的文件的

不管用哪种方式,你都要当心用户用你的上传接口传播病毒或植入木马,因为在我看来你这样做的初衷还是很不错的,但是给非法用户留下了太多的后门,用户可以上传任何形式的程序,最基本的就可以做一个死循环让你的服务器瘫痪。我建议不要把ASP页面权限放给用户,最多让用户上传HTML的页面就可以了,而你也要当心HTML里的<script></script>等语句,可能会带有木马或病毒