Joh*_*ith 2 php sqlite sql-injection preg-replace
我试图找出一种避免SQL注入的简单方法,到目前为止我只能提出两个想法:
这是我目前的代码:
<?php
$hash = $_GET['file'];
if (isset($hash))
{
$db = new SQLite3("Files.db");
if ($db != null)
{
$hash = preg_replace('/[^A-Za-z0-9 _.\-+=]/', '_', $hash);
if ($response = $db->query("SELECT [FILE] FROM '$hash'"))
{
echo $response->fetchArray()[0]; // File name is returned if successful.
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我的问题是我是以正确的方式进行这种方式还是有更好的方法来做到这一点?
让您的数据库库为您完成.PHP Sqlite3库支持预处理语句:
$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5421 次 |
最近记录: |