Tuesday, September 25, 2012

PHP範例 : 處理輸入字串

對於輸入的字串必須抱持一個不信任的觀點, 所以使用之前事先清理一下就是必要的. 以下是個人慣用的清理函式, 最後一行是之前慣用的處理方法. ( 輸出字串可能是被拿來執行命令列指令 )
程式碼(輸入字串是 IP 位址)
function proc_str($instr){
  $pattern = '([^0-9\.])';
  $replacement = '';
  $instr = preg_replace($pattern, $replacement, $instr);
  return ereg_replace("&#", "&#", htmlspecialchars(str_replace("'", "\\'", stripslashes($instr))));
}

程式碼
function proc_str($instr){
  $pattern = '([^0-9a-zA-Z\-\_])';
  $replacement = '';
  $instr = preg_replace($pattern, $replacement, $instr);
  return ereg_replace("&#", "&#", htmlspecialchars(str_replace("'", "\\'", stripslashes($instr))));
}

No comments: