ホームページ  >  記事  >  バックエンド開発  >  PHP の 8 つの主要なセキュリティ機能の分析_PHP チュートリアル

PHP の 8 つの主要なセキュリティ機能の分析_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:13:30781ブラウズ

PHPの8つの主要なセキュリティ機能の分析

現代のインターネットでは、世界中のユーザーから入力データを取得する必要があることがよくあります。ただし、「ユーザーが入力したデータを決して信頼してはいけない」ことは誰もが知っています。そのため、さまざまな Web 開発言語では、ユーザー入力データのセキュリティを確保するための関数が提供されています。 PHP には、Web サイトで SQL インジェクション攻撃や XSS 攻撃などの問題を防ぐのに役立つ、非常に便利な関数がいくつかあります。もちろん、PHP コードを記述する場合、PhpStorm や Zend Studio などの IDE は、開発者が確実に使用できるように関数を強調表示します。また、これらの関数やコードを保護するためにコード難読化ツールを使用する人もいます (Zend Guard など)。これは、PHP 関数の使用と安全性を確保するために使用されます。今日は主に、これらの関数がどのように定義され、機能するかを見ていきます。

PHP の 8 つの主要なセキュリティ機能の分析_PHP チュートリアル

1.mysql_real_escape_string()

この関数は、PHP での SQL インジェクション攻撃を防ぐのに非常に役立ちます。一重引用符や二重引用符などの特殊文字に「バックスラッシュ」を追加して、Yes のクエリに使用する前にユーザーの入力が安全であることを確認します。ただし、この機能はデータベースに接続しているときに使用することに注意してください。

しかし現在、mysql_real_escape_string() 関数は基本的に必要なくなりました。すべての新しいアプリケーション開発では、データベースを操作するために PDO などのライブラリを使用する必要があります。つまり、既製のステートメントを使用して SQL インジェクション攻撃を防ぐことができます。

2. まつげを追加します

この関数は上記の mysql_real_escape_string() と非常に似ています。ただし、設定ファイルphp.iniのmagic_quotes_gpcの値が「on」の場合は、この機能を使用しないように注意してください。デフォルトでは、magic_quotes_gpc はオンになっており、すべての GET、POST、COOKIE データに対して addlashes() が自動的に実行されます。二重エスケープが発生するため、magic_quotes_gpc によってエスケープされた文字列に対して addslashes() を使用しないでください。この変数の値は、PHP の get_magic_quotes_gpc() 関数を通じて確認できます。

3.htmlentities()

この関数は、ユーザー入力データをフィルタリングするのに非常に便利で、文字を HTML エンティティに変換できます。たとえば、ユーザーが文字「

4.htmlspecialchars()

HTML の一部の文字には特別な意味があります。そのような意味を反映したい場合、この関数は変換された文字列を返します。たとえば、「&」amp は「&」に変換されます。

5.strip_tags()

この関数は、文字列からすべての HTML、JavaScript、および PHP タグを削除できます。もちろん、関数の 2 番目のパラメーターを設定することで、いくつかの特定のタグを表示することもできます。

6.md5()

一部の開発者は非常に単純なパスワードを保存していますが、これはセキュリティの観点からは良くありません。md5() 関数は指定された文字列の 32 文字の md5 ハッシュを生成する可能性があり、プロセスは元に戻せません。つまり、md5 の結果から開始することはできません。 () は元の文字列です。

7.sha1()

この関数は上記の md5() に似ていますが、異なるアルゴリズムを使用し、40 文字の SHA-1 ハッシュを生成します (md5 は 32 文字のハッシュを生成します)。

8.intval()

笑わないでください。これが安全関連の関数ではなく、変数を整数型に変換していることはわかっています。ただし、この関数を使用すると、特に ID や年齢などのデータを解析する場合に、PHP コードの安全性を高めることができます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/915113.html技術記事 PHP の 8 つの主要なセキュリティ機能の分析 現代のインターネットでは、世界中のユーザーから入力データを取得する必要があることがよくあります。しかし、ユーザー入力データは決して信頼できないことは誰もが知っています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。