diff --git a/src/admin/article_add.php b/src/admin/article_add.php index c6982985..963d44c1 100644 --- a/src/admin/article_add.php +++ b/src/admin/article_add.php @@ -25,7 +25,7 @@ if ($dopost != 'save') { if (empty($geturl)) $geturl = ''; $keywords = $writer = $source = $body = $description = $title = ''; //采集单个网页 - if (preg_match("#^http:\/\/#", $geturl)) { + if (preg_match("#^(http|https):\/\/#", $geturl)) { require_once(DEDEADMIN."/inc/inc_coonepage.php"); $redatas = CoOnePage($geturl); extract((array)$redatas); diff --git a/src/admin/config.php b/src/admin/config.php index 63f89b1e..c0bbedc3 100644 --- a/src/admin/config.php +++ b/src/admin/config.php @@ -61,7 +61,7 @@ function XSSClean($val) { if (is_array($val)) { foreach ($val as $key => $v) { - if (in_array($key, array('tags', 'body', 'dede_fields', 'dede_addonfields', 'dopost', 'introduce'))) continue; + if (in_array($key, array('tags', 'body', 'dede_fields', 'dede_addonfields', 'dopost', 'introduce', 'geturl'))) continue; $val[$key] = XSSClean($val[$key]); } return $val; diff --git a/src/admin/inc/inc_coonepage.php b/src/admin/inc/inc_coonepage.php index d3949630..22d7acc7 100644 --- a/src/admin/inc/inc_coonepage.php +++ b/src/admin/inc/inc_coonepage.php @@ -20,7 +20,7 @@ function CoOnePage($gurl) { global $dsql, $cfg_auot_description, $cfg_soft_lang; $redatas = array('title' => '', 'body' => '', 'source' => '', 'writer' => '', 'description' => '', 'keywords' => ''); - $redatas['source'] = preg_replace("/http:\/\//i", "", $gurl); + $redatas['source'] = preg_replace("/(http|https):\/\//i", "", $gurl); $redatas['source'] = preg_replace("/\/(.*)$/i", "", $redatas['source']); $row = $dsql->GetOne("SELECT * FROM `#@__co_onepage` WHERE url LIKE '".$redatas['source']."' "); $s = $e = ''; diff --git a/src/system/libraries/dedehttpdown.class.php b/src/system/libraries/dedehttpdown.class.php index 16b1d4bd..570f0645 100755 --- a/src/system/libraries/dedehttpdown.class.php +++ b/src/system/libraries/dedehttpdown.class.php @@ -324,7 +324,7 @@ class DedeHttpDown } if (function_exists('curl_init') && function_exists('curl_exec')) { $this->m_ch = curl_init(); - curl_setopt($this->m_ch, CURLOPT_URL, $this->m_scheme.'://'.$this->m_host.':'.$this->m_port.$this->m_path); + curl_setopt($this->m_ch, CURLOPT_URL, $this->m_scheme.'://'.$this->m_host.':'.$this->m_port.$this->m_path.'?'.$this->m_query); curl_setopt($this->m_ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($this->m_ch, CURLOPT_FOLLOWLOCATION, 1); if ($requestType == "POST") {