タグ

ブックマーク / ntter0.blog76.fc2.com (1)

  • ちゃんとロックされるfile_get_contents | file

    前回の記事、file_put_contentsの罠にて標準関数の脆弱性について触れましたが、読み込みを行う場合にもロックは必要です。 例によってfile_get_contents等の関数はロックしてくれません。 そんなわけで、以下は安全安心なfile_get_contents関数およびfile関数です。 file関数の方はFILE_SKIP_EMPTY_LINESとFILE_IGNORE_NEW_LINESの二点のフラグに対応しています。 function _file_get_contents($fname) { if ($fp = fopen($fname, 'c')) { flock($fp, LOCK_EX); $buf = ''; while ($get = fgets($fp, 1024)) $buf .= $get; fclose($fp); return $buf; } el

  • 1