こんにちは、セキュリティ
私はCodeIgniterの中の安全性に関するいくつかの疑問を抱えているが、最初にある:news.php、その中に私が方法を持っている:
私はコントローラを持っていますビュー
例と呼ばれる:
class News extends CI_Controller{
public function view($id)
{
$this->load->model('news_model');
$this->news_model->get_by_id($id);
// ...
}
}
仕事のこの形式は安全ですか? URLによるSQLインジェクションのリスクはありませんか?このページはmywebpage/news/number_idにアクセスすることを考慮しています。 intval()または不要なものをフィルタリングするのは興味深いでしょうか?
私の2番目の質問は次のとおりです。デフォルトのCodeIgniterのXSSフィルタによって
が投稿し得るが、CodeIgniterのことでHTMLをフィルタリングする未知の道ができ、私がダウンしてCodeIgniterのヘルパーを作成し、ネイティブと同様のいくつかの方法がありますCodeIgniter?
function remove_xss_html($string){
if(is_array($string)){
$return_array = array();
foreach($string as $item)
{
if(!get_magic_quotes_gpc())
{
$return_array[] = addslashes(htmlspecialchars(strip_tags($item)));
}
else
{
$return_array[] = htmlspecialchars(strip_tags($item));
}
}
return $return_array;
}
else
{
return htmlspecialchars(strip_tags($string));
}
}
と第3の最後の質問は次のとおりです。
私はフィルタなしで直接データベースに変数の$ this - >入力 - >ポスト(「MY_VAR」)を送信すると、私は危険を冒しますSQLインジェクション? CodeIgniterやフィルターはとても安全ですか?
IMPORTANTE:私の英語はあまりよくありません。私はgoogleを使って翻訳し、私ができることを修正しました。あなたがDBの相互作用のためのActive Recordクラスを使用している場合
は
私はアクティブなレコードを使用していますが、私はいつも関数のパラメータのデフォルト値を決定しています。関数test($ id = false){}、次に代替コンテンツif($ id){}を表示します – user875690