-4

セキュリティ上の理由から Jquery/javascript を PHP でラップしたいと思います。PHP はクライアント側スクリプトよりもアクセスがはるかに難しいと思います。私はこの主題をグーグルで検索しましたが、実際にはあまり情報がなく、実際に指定されていないいくつかの例があり、それだけです。実際のスクリプトを作成するには、最初のアイデアが必要です。たとえば、私がこれを持っているとしましょう:

<script>
    $("p").click(function () {
      $(this).slideUp();
    });
</script> 

このように十分でしょうか:

<?php

<script>
    function click{
            $("p").click(function () {
              $(this).slideUp();
            }); 
    }
        </script> 
?>

    echo click()

私はグーグルから何も得られないので、これについての基本的な理解を求めています。私のコードに関する回答をいただければ幸いです。

4

7 に答える 7

3

あなたがやろうとしていることは無意味です。最終的に、jquery コードはクライアント側になります。隠すことはできません。JS はクライアント側で実行され、PHP はサーバー側で実行されるため、PHP は JS にセキュリティを追加できません。

クライアント側のプログラミングには、コーディング、計算、効果、アニメーション、または Web サイトがブラウザーを介してユーザーと実行するあらゆる種類の対話が含まれます。しかし、サーバーサイドプログラミングは、すべてのタスクをサーバーでのみ実行するプログラミングです。したがって、ユーザーはそれを認識していません。

たとえば、PHP はサーバー側のプログラミングに使用されます。HTML を使用して Web サイトを設計し、そこで JavaScript を使用してユーザーからの入力を取得し、とにかくそれを変更します。具体的には、ブログ Web サイトを作成し、ユーザーが最大 5000 文字を投稿できるように指定したい場合です。次に、JavaScript を使用してクライアント側のプログラミングを行い、文字数やフィルタリングなどをカウントします。ただし、それらの投稿をサーバーに送信する必要があります。次に、サーバーはサーバー側のタスクを実行し、PHP を使用して、SQL インジェクションの入力をサニタイズし、データベースに保存します。

ユーザーはブラウザで何が起こったのかを知るだけで、サーバーで何が起こったのかはわかりません。これらはバックグラウンド タスクです。

続きを読む

于 2013-01-30T10:04:01.330 に答える
1

いいえ、スクリプトは引き続き表示されます。JavascriptをPHPファイルで記述したい場合は、スクリプトの各行をエコーする必要があります。

<?php
    echo '<script>';
    echo 'function click({';

等々。

ただし、これでもJavascriptは何も非表示にせずにページに表示されます。実行するには、クライアントのブラウザにダウンロードする必要があるため、サイトでJavascriptを非表示にすることはできません(同じ理由で、Javascriptを非表示にすることはできません)。ページ上のHTML)。

本当に人々があなたのJavascriptコードを理解するのを難しくしたいのなら、それを縮小または難読化することを試みることができますが、それでもコピーと貼り付けは止まりません。

于 2013-01-30T10:06:09.343 に答える
1

あなたはできる:

このコンパイラを使用すると、コードを曖昧にして縮小することができるため、何をしているのかを読むのがかなり難しくなります。Base64 エンコーディングでは、少し難しくなります。

ただし、コードが読みにくくなりますが、 javascript を完全に隠すことはできません

于 2013-01-30T10:09:50.180 に答える
1

とにかく、JS はブラウザに到達して実行する必要があります。これを回避する方法はありません。

あなたが持っている最良のオプションは、おそらくそれを難読化することです。JS は、抜け穴がないと保護できません。

于 2013-01-30T10:04:21.027 に答える
0

これはあなたが探しているものです:

<?php
echo "<script>";
echo "$(\"p\").click(function () {";
echo "$(this).slideUp();";
echo "});";
echo "</script>";
?>

PHP の「echo」ステートメントを使用して JavaScript を配信したいと考えています。JavaScript 内の引用符の前にスラッシュを付けて「エスケープ」してください。そうしないと、PHP プロセッサが引用符を PHP の「echo」ステートメントの一部として解釈します。

PHP を使用して JavaScript を配信する理由は、PHP でセキュリティを処理できるからです。そうすれば、ユーザーが適切に認証されていない場合、PHP スクリプトは何も配信しません。次に例を示します。

<?php
if ( $_COOKIE['password'] > '') {
    echo "<script>";
    echo "$(\"p\").click(function () {";
    echo "$(this).slideUp();";
    echo "});";
    echo "</script>";
}
else {
    echo "Password not set";
}
?>
于 2014-02-11T16:42:25.247 に答える