接受URL查询中的代码片段


Accepting Code Snippets in URL Query

我正在尝试创建一种带有预览框的HTML编辑器应用程序。一切都很好,除了我只是在这种格式中添加了URL参数/查询。

http://edit.mydomain.com/?code=%3Cp%3EWelcome!%3C%2Fp%3E&type=html

这些都工作得很好,直到这个被添加到里面:

<script type="text/javascript">

编码后,就是

http://edit.mydomain.com/?code=%3Cscript%20type%3D%22text%2Fjavascript%22%3E&type=html

不幸的是,直接进入它会加载一个无限重定向错误。

接下来,我试着删除任何。htaccess重写规则(因为它们真的不需要在这个特定的页面上),我有:
RewriteEngine On
RewriteRule ^(.*)/$ /$1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://edit.mydomain.com/$1/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}' /(.*)'.php' HTTP/ [NC]
RewriteRule .+ http://edit.mydomain.com/%1  [R=301,QSA]

但是这样做会导致URL加载一个禁止页面,说我不允许访问/。

当它之前在目录中时,它加载根主页(而不是目录),即使URL显示的目录后面跟着查询。

我也有一种感觉,服务器昨天封锁了我的IP一段时间,因为网站突然宕机了,只有我一个人。这样的URL查询会被认为有安全风险吗?

删除<部分代码(或%3C编码)修复了此错误,但当然,><在输出的代码中缺少。>

是否可以接受URL中的编码?

标签似乎工作得很好。

谢谢。

URL参数中的<script>标签完全有可能触发您的服务器或ISP防火墙的某种入侵保护。

像这样的事情通常是通过POST请求完成的,而不是GET请求。你不这么做有什么原因吗?

您可能已经安装了mod_security。我相信mod_security2不允许从。htaccess文件控制,但旧版本做。http://www.modsecurity.org/

然而,我认为与其摆弄mod_security规则,不如找出一种方法来发送POST变量中的代码,而不是GET。