Php Codeigniter:提交带有<;脚本>;在…内

Php Codeigniter:提交带有<;脚本>;在…内,php,jquery,regex,codeigniter,code-injection,Php,Jquery,Regex,Codeigniter,Code Injection,因为我不知道在哪里可以找到这个-也许这里有人可以帮我 我需要用户在文本区域中添加如下内容: <script> var foo bar; </script> <script type="text/javascript" src="http://foobar.de/mylist.js"></script> 我怎样才能改变这个?我知道这不安全,但我需要解析URL 作为替代,我需要一个jQuery函数来解析这个URL。。。。我对正则表达式不是很熟悉^

因为我不知道在哪里可以找到这个-也许这里有人可以帮我

我需要用户在文本区域中添加如下内容:

<script> var foo  bar; </script> 
<script type="text/javascript" src="http://foobar.de/mylist.js"></script>
我怎样才能改变这个?我知道这不安全,但我需要解析URL

作为替代,我需要一个jQuery函数来解析这个URL。。。。我对正则表达式不是很熟悉^^

我的PHP解析器如下所示(从某处复制^^):


@加文的评论很好。可能是因为脚本标记会使它不可见(如果您试图
回送
打印结果),所以您没有看到它

函数索引()
{
回声形式_open();
回波形式_文本区域(“测试”);
回显表格提交(“提交”);
回声形式_close();
如果($this->input->post())
{
回声“;

$textified=str_replace('您可以尝试将
$config['global\u xss\u filtering']=FALSE;
设置为FALSE。此配置可以在application/config/config.phpOr use
$This->input->post('textareaName',FALSE)中找到
这将在获取textarea.Thx的值时禁用XSS筛选。Gavin的解决方案很好-因此我只能在这一种情况下使用它-没有不安全的所有表单-但不幸的是它不起作用。:(Thx,但这对我不起作用-我不知道为什么。我仍然保留了所有的[removed]在字符串中-没有.Thx。你是对的。当XSS过滤器设置为false时,它可以工作-但是更改所有其他输入是没有选择的。所以我决定制作一个jQuery解决方案,它从字符串中解析我所需的url。。。
[removed] var foo  bar; [removed] 
[removed][removed]
$reg_exUrl = '/\b(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]/i';
if (preg_match($reg_exUrl, $_POST['code'], $matches)) {
        $jsUrl = $matches[0];
}
function index()
{
    echo form_open();
    echo form_textarea('test');
    echo form_submit('', 'Submit');
    echo form_close();

    if($this->input->post())
    {
        echo "<pre>";

        $textified = str_replace('<', '&lt;', $this->input->post('test', false));
        echo "textified string = $textified <br><br>";

        // find URL. Regex from http://stackoverflow.com/a/2721152/183254
        preg_match_all('/\b(?:(?:https?):\/\/|www\.|ftp\.)[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]/i', $textified, $result, PREG_PATTERN_ORDER);

        echo "URL in textified string: " . $result[0][0];
    }
}