2015-09-04 98 views
3

通配符一個會如何使用NetBeans中替換修改PHP腳本,有很多的$ _ POST替換[]查找和使用在NetBeans

爲了更好的安全性也將取代所有這些$ _ POST是一個好主意[] with sanitize($ _ POST []),其中sanitize是一個清理用戶輸入的函數。

所以我可以使用替換並搜索$ _ POST [「」],用的sanitize($ _ POST替換[「」])

但你如何保持變量名中的每個$ _ POST [「」]同時添加右括號?例如$ _POST ['name']和$ _POST ['action']需要分別清理($ _ POST ['name'])和santize($ _ POST ['action'])。

+0

你可以嘗試「用'的sanitize'($ _ POST [」來代替'$ _ POST ['和'']'用']]''。後者不一次全部取代。最好不要在你的代碼中使用全局'$ _POST ['...']'** **。把它們在腳本的開頭初始化爲一個等價的$變量。 'if(isset()...){...}'。 –

回答

1

我不是PHP程序員或正則表達式的主人,但在我非常有限的測試中,這似乎工作。

選擇項目,然後選擇編輯 - >替換。選擇在下拉列表中「正則表達式」,設置包含文本\$_POST\[(.*)\]和更換,以sanitize(\$_POST[$1])

screenshot using regex

+0

謝謝。這對於所需替換品的95%非常有效。但是大約有250個仍然是這樣,第一個實例被捕獲並被取代,而不是第二個實例。有任何想法嗎? (isset(sanitize($ _ POST ['action'])&& $ _POST ['action'])=='go') –

+0

沒關係 - 明白了。 \ $ _ POST \ [(。*)\]變爲&\ $ _ POST \ [(。*)\] and sanitize(\ $ _ POST [$ 1])變爲&sanitize(\ $ _ POST [$ 1]) ! –