尝试使用ajax(jQuery)发送数据时出现奇怪的行为

时间:2013-02-03 09:54:50

标签: php ajax litespeed

我编写的网站必须具有与SO相同的功能。我的服务器使用Litespeed,它可以提高运行php文件的速度。

当我试图以常规形式发送php代码时,一切似乎都没问题,数据被发送到动作文件而不解释变量中的代码。但是,当我尝试使用jQuery $.post方法在评论textareas中发送相同的数据时,我得到禁止403 错误。 Litespeed服务器在路上阻止数据。我不知道为什么会发生这种情况,为什么在使用ajax时会自动评估$_POST数据?

这种情况并非每次都出现,但仅在某些情况下,例如:

this is a new message which presents this php code: <?php mysql_query("SELECT * FROM my_table"); ?>

请注意,如果我从邮件中删除<?php?>,则表示没问题。我已经尝试使用encodeURI()方法,但这不会改变任何内容。

是否有任何必须在.htaccess中应用的设置才能自动评估$ _POST数据?

或者我应该在发送评论之前替换open和close标签吗?

稍后修改

这就是我现在设法解决此问题的方法,但我仍在等待.htaccess的建议:

$but.prev('textarea').val().replace(/(<\?php)/gi,'-?php ').replace(/(<\?)/gi,'-? ').replace(/\?>/gi,' ?-');

并在服务器端

str_replace(array('-?php','?-','-?'), array('`<?php','?>`','`<?'), $_POST['comment']);

0 个答案:

没有答案