我正在创建一个在线HTML编辑器,我想知道是否可以伪造文件扩展名。
所以会发生什么是用户可以创建一个文件并选择天气它应该是.html,.css或.js文件然后他们会进入代码编辑器,他们想要保存到数据库。问题出现在我的实时预览功能中。而不是在服务器上创建文件我只是抓住他们从数据库中编写的代码,因此访问用户文件的URL将类似于http://novuta.com/p/files/code.php?watermelon=23,它将从数据库中提取代码,其中id为23,很简单。
但是......如果用户在两个文件之间创建链接,例如
<link rel = "stylesheet" type = "text/css" href = "http://www.novuta.com/p/files/code.php?watermelon=23">
链接会很好,但它会以平面文本而不是.css文件的形式出现在浏览器中。
我不确定但是可能有办法使用.htaccess来解决这个问题,但该文件将具有用户选择的扩展名。
这是我的第一个问题,抱歉,如果它不是最好的
答案 0 :(得分:5)
你可以在你的php文件中设置适当的Content-Type
来呈现css,如:
<?php
header("Content-Type: text/css");
header("X-Content-Type-Options: nosniff");
//your css code
?>