PHP WebサイトでのSQLインジェクションを防ぐにはどうすればよいですか? 【優れた】
Web サイトの運用セキュリティは、すべての Web マスターが考慮すべき問題であることは間違いありません。ご存知のとおり、ほとんどのハッカーは SQL インジェクションを使用して Web サイトを攻撃します。 最もオリジナルな静的ウェブサイトが最も安全です。今日は、Web サイトが sql によってインジェクションされるのを防ぐための PHP インジェクションのセキュリティ仕様について説明します。
今日の主流のウェブサイト開発言語は依然としてphpなので、phpウェブサイトでのsqlインジェクションを防ぐ方法から始めましょう: Php インジェクションのセキュリティ予防措置 上記のプロセスを通じて、私たちはphpインジェクションの原理と方法を理解することができます。 もちろん、対応する防止方法を開発することもできます。
1つ目は、主にphp+mysqlのセキュリティ設定です。 Linux ホストのセキュリティ設定 。 php+mysql噴射を防ぐために、最初にmagic_quotes_gpcをonを最初に設定します。コードなど: $idintval($id);mysql_query"*fromexamplewherearticieid'$id'"; または次のように記述します: mysql_query( ")選択* FROMarticleWHEREarticleid ".intval($id). "")文字型の場合は、addslashes()を使用してフィルタリングし、その後、「%」と「_」をフィルタリングします例: $searchaddslashes($search);$searchstr_replace("_","_",$search);
$searchstr_replace("%","%",$search);もちろん、php ユニバーサルアンチインジェクションコードを追加することもできます: /***************************
PHP ユニバーサルアンチインジェクションセキュリティコード
手順:
渡された変数かどうかを判断します$_POST 、$_GET
などの不正な文字
が含まれています機能:
アンチインジェクション
************* * **** ********/
//フィルタリングされる不正な文字
$ArrFiltratearray("'",";", "union");// エラー後にリダイレクトされるURL、 未入力の場合、前のページがデフォルトになります
$StrGoUrl"";
//値があるかどうか配列内
functionFunStringExist($StrFiltrate,$ArrFiltrate){ feach($ArrFiltrateas$key>$value){if(eregi($value,$StrFiltrate)){returntrue;
} }returnfalse;
}
// merge $_POST と$_GET
if(function_exists(array_merge)){
$ArrPostAndGetarray_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
}その他{
feach($HTTP_POST_VARSas$key>$value){
$ ArrPostAndGet[]$value;}feach($HTTP_GET_VARSas$key>$value){
$ArrPostAndGet[]$value;
}
}
// 検証開始
feach($ ArrPostAndGetas$key>$value){
if(FunStringExist($value,$ArrFiltrate)){
echo"alert(/"Neeaoプロンプト、不正な文字/");";
if(empty($StrGoUrl)){
echo "histy.go(-1) ;";
}else{
echo "window.location/"".$StrGoUrl."/";";
}
exit;
}
}
?>
/* **************************
checkpostget.php
として保存し、各phpの前にを追加しますファイル include(“checkpostget.php”);以上です
**************************** **/
さらに、管理者のユーザー名とパスワードは md5 によって暗号化され、php のインジェクションを効果的に防ぐことができます。
サーバーとmysqlもいくつかのセキュリティ対策を強化する必要があります。
linuxサーバーのセキュリティ設定:
パスワードを暗号化し、「/usr/sbin/authconfig」ツールを使用してパスワードのshadow機能をオンにし、暗号化しますパスワード。
重要なファイルへのアクセスを無効にし、linuxコマンドインターフェースを入力し、プロンプトで次のように入力します:
#chmod600/etc/inetd.conf//ファイル属性を600
#chattr+に変更しますI /etc /inetd.conf // ファイルの所有者が root
#chattr– であることを確認します。I /etc/inetd.conf //ファイルへの変更を制限します
ユーザーによる変更を禁止しますsuコマンドを渡します rootuser
に変更します 次の2行を追加します:十分な認証 /lib/security/pam_rootok.sodebug認証が必要 /lib/security/pam_whell.sogroupwheel
特別なアカウントをすべて削除
#userdel lpなど ユーザーを削除
#groupdellpなど グループを削除
未使用を禁止 suid/program
#find/-typef(-perm-04 000 -o–perm-02000)-execls–lg{};
|

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。
