ホームページ >バックエンド開発 >PHPチュートリアル >PHPの豆知識の研究(1)
PHP のいくつかの知識ポイントの研究 (1)
Dark Clouds に対する PHP ベースの WebShell 攻撃を確認しました。
通常の PHP コードを使用して、暗号化層の後に の実際のシェルのコンテンツを画像に保存し、URL のみを残す高度に隠蔽された Web シェル。 は暗号化されているため、外部からは見つけることができません。上記の URL を開くと 404 が表示され、この 404 ページは 404 トロイの木馬に偽装されています。タイトルは「404 Not Found」です。
を使用します。 if がある場合は、else も存在する必要があるため、構造の整合性を追求する人もいますが、場合によってはコードが煩雑になり、1 つの結果を使用する可能性があります。を基本として、他のことが起こった場合は、デフォルトは A で、例外がある場合は、次の右の図のように B になります。 🎜>
3.
は 1 ページで実行されます。 はページ ジャンプを必要としません と、さまざまなユーザーのリクエストに応じてさまざまなコンテンツがロードされます。 利点:
シンプルなページ構造、少ないデータ量、帯域幅の節約、高速応答、優れたエクスペリエンス、簡単開発、メンテナンス、最適化 ; 欠点:
ajax テクノロジーの使用は SEO に役立ちません。 4.
方法 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. 協調フィルタリング推奨アルゴリズム