PHP のいくつかの知識ポイントの研究 (1)
1. PHPwebshell 🎜>攻撃
Dark Clouds に対する PHP ベースの WebShell 攻撃を確認しました。
通常の PHP コードを使用して、暗号化層の後に の実際のシェルのコンテンツを画像に保存し、URL のみを残す高度に隠蔽された Web シェル。 は暗号化されているため、外部からは見つけることができません。上記の URL を開くと 404 が表示され、この 404 ページは 404 トロイの木馬に偽装されています。タイトルは「404 Not Found」です。
2. else ステートメント
を使用します。 if がある場合は、else も存在する必要があるため、構造の整合性を追求する人もいますが、場合によってはコードが煩雑になり、1 つの結果を使用する可能性があります。を基本として、他のことが起こった場合は、デフォルトは A で、例外がある場合は、次の右の図のように B になります。 🎜>
3.
シングルページ アプリケーション(シングル ページ アプリケーション)単一ページとは、すべての操作とレイアウトが 1 つのページで実行されることを意味します。
は 1 ページで実行されます。 はページ ジャンプを必要としません と、さまざまなユーザーのリクエストに応じてさまざまなコンテンツがロードされます。 利点:
シンプルなページ構造、少ないデータ量、帯域幅の節約、高速応答、優れたエクスペリエンス、簡単開発、メンテナンス、最適化 ; 欠点:
ajax テクノロジーの使用は SEO に役立ちません。 4.
ajax 主に前のケースの単一ページ構造の場合、プログラムは # 構造 URL を通じてページ コンテンツを制御しますが、検索エンジンによってクロールされません。
方法 1:
Twitter は「ポンド記号 + 感嘆符」構造 を使用しますが、エクスペリエンスはそうではありません良いですが面倒です;方法 2:
履歴 API を使用します。ページを更新せずにブラウザのアドレス バーに表示されるアドレスを変更します。手順は次のとおりです:A、ハッシュ マーク構造を
履歴 APIに置き換えて、それぞれの # の数字は通常のパス URL に変更されるため、検索エンジンはすべての Web ページをクロールします。 B、
JavaScript 関数を定義し、Ajax 部分を処理し、取得しますこれは URL の取得コンテンツに基づいています。 C、マウスの click イベントを定義し、History オブジェクトの popstate イベント ハンドラ ブラウザの "進む / 戻る" ボタン。 、サーバー側を設定します。 以前はcurl_init()を使用していましたが、最近curl_multi_init( ); もっと効率的なコードが得られると思いましたが、curl_multi の手順を確認すると、それが非常に面倒であることがわかり、同時に、curl_multi によって CPU が高くなりすぎて Web ページがフリーズする可能性があります。 curl_initとcurl_multi_initを比較してみたところ、マルチスレッドはシングルスレッドに比べて必ずしも速度が優れているわけではなく、同時に複数のタスクしか処理できず、時間コストも必ずしも低いわけではありません。 curl_multi_init を呼び出します。 を呼び出します。 curl_multi_add_handle; curl_multi_add_handle の 2 番目のパラメータが curl_init子元handle;ステップ 3: 呼び出しを続けます ;ステップ 4: 必要に応じてループ内で を呼び出して結果を取得します。ステップ 5: を呼び出し、各単語 handle に対して curl_close を呼び出します。 curl_multi_close を呼び出します。 6. PHP strstr()関数 検索 必須。検索する文字列を指定します。引数が数値の場合、ASCII 数値に一致する文字を検索します。 7. 標準化の重要性について HHVM 新しくて馴染みのないソースコードを学習するときは、必ず次のことを行ってください。構造を直感的に感じることができます。 は、各ソース ファイル から 1 行ずつ句読点を取得することで 要約することができます。つまり、 ファイル署名です。この は、 がコード の複雑さ を考慮するのに役立ちます。 実際には、コード ファイル内の固定シンボルを抽出してファイルの構造を提示します。 参照: http://c2.com/doc/SignatureSurvey/ 1. コンテンツベースの推奨アルゴリズムの前提は、ユーザーがアイテム a を好きであれば、ユーザーは a に似たアイテムも好きであるはずです。 基本的な考え方は、コンテンツの属性を分割し、同じ属性を持つコンテンツを抽出して推奨することです。 2. 協調フィルタリング推奨アルゴリズムの前提条件は次のとおりです。ユーザー a とユーザー b が両方とも一連の同じアイテムを好む場合、a はそうである可能性が非常に高くなります。 to ユーザー b が気に入っている他のアイテムも気に入っています。 基本的なプロセスは、 ユーザーが最初に各 アイテム を評価してスコアを付けることです。異なるユーザー評価間の類似性を計算することで、最も近い評価を見つけることができます。近隣、最近傍の評価に基づいて、推奨事項 が生成されます。 上記のアルゴリズムはすべて行列モデリングを使用し、コサイン類似度、ピアソン類似度 などの式を使用します。ご使用の際は2つを1つに組み合わせてご使用いただくことをお勧めします。 5. CURL_MULTI_INIT()
strstr(string,search) 検索ある文字列が別の文字列内で最初に出現すること。文字列の残りの部分 (一致する点から) を返します。検索した文字列が見つからない場合は false を返します。
参照: http://www.w3cschool.cn/func_string_strstr.html。
そのため、2 番目のパラメータを指定するときに、数値を一致させる必要がある場合は、引用符を追加することをお勧めします。
私の家の近くにある長年の道路が歩行者専用エリアに分割されました通路、自動車専用レーン、自動車専用レーンが問題を一気に解決しました。柔軟性が高いと選択肢が多すぎて問題が多くなることがあります。これはプログラムにも当てはまります。ユーザー入力の柔軟性は良いように見えますが、実際には、バグが発生しないように初期段階で標準化してはいかがでしょうか。ソース 絶望的な状況の後に埋め合わせをするのではなく?標準化により、すべてのプロセスがシンプルかつ効率的になります。
8.
HHVM (ヒップホップ仮想マシン) は、PHP コードを高レベルのバイト コードに変換します (しばしば中間言語と呼ばれます)。これらのバイトコードは、実行時にジャストインタイム (JIT) コンパイラーによって x64 マシンコードに変換されます。
Zend と比較して、HHVM は効率が向上し、CPU 負荷が軽減され、平均ページ読み込み時間も短縮されていることがさまざまなデータで示されています。 HHVM は PHP の実行パフォーマンスを最適化するために存在します。php5 と比較すると、いくつかの利点があります。php7 を待ちましょう。
9. PHPソースコード署名コレクター
10. 協調フィルタリング推奨アルゴリズム

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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