0
我與發現如何加強與preg_match/replace regex一起使用的輸入?
var $_plgCode = "#{comment(.*?) contentid=(.*?) option=(.*?) contenttitle=(.*?)}#i";
再後來PHP腳本工作使用此參數:
preg_match_all($this->_plgCode, $_body, $matches);
和
$_body = preg_replace($this->_plgCode, $output, $_body);
的問題是,contenttitle可以包含用戶輸入和並沒有被強化 - 例如,很多事情都會打破它,就像用戶輸入}一樣。
什麼樣的用戶輸入轉義需要在contenttitle上完成以確保它不會破壞REGEX?
如果'}'性格是不是在正則表達式,但在更換琴絃,怎麼可能不會打破你的正則表達式?它可能會中斷HTML,當然,正則表達式本身?不。或者你正在創建_another_正則表達式嗎? – Wrikken
如果用戶寫,爲exampe,「這是}標題」,那麼字符串變爲: {評論內容識別= 100選項= OPTION_NAME contenttitle =這是}標題} – key2starz
你指的是用戶在進入$ _body字符串? – Wrikken