PHPの基本は無視されます

ディレクトリ

継続的にいくつかの懸念の記録を更新しました。

  1. 関連して最も安全ではありません、以下のPHPの設定項目、:()
A. open_basedir
B. register_globals
C. disable_functions
D. file_uploads

open_basedirのは、指定地域内のファイルへの制限のアクティブユーザアクセス、自分のホームディレクトリへのパスは通常、利用可能なシンボルの範囲とすることができる。「」カレントディレクトリを表すために。open_basedirので指定された制限は、実際に接頭辞ではなく、ディレクトリ名であることに注意してください。例: "open_basedirの= /ディレクトリ/ユーザー"、ディレクトリ "/ DIR /ユーザー" と "/ DIR / user1は" アクセスしている場合。ですから、スラッシュパス名で終わる、唯一の指定されたディレクトリへのアクセスを制限する場合。例えば、配置された: "open_basedirの= /ディレクトリ/ユーザー/"

register_globalsがグローバル変数として登録することを意味し、その際に渡された値が直接直接グローバル変数として登録されたときにオン、オフの時間ながら、私たちは、特定のアレイでそれを取りに行く必要があります。あなたはオンに設定することができますが、register_globalsのデフォルト値のファイルの1.PHP 4.2.0バージョンは、オンとオフから変更していますが、サーバーを制御できない場合、あなたのコードの互換性が大きな問題となっていますそのため、あなたはより良いプログラミングスタイルオフの開始となりまし始めると思います。register_globalsの変数は、このようなHTMLフォームからの変数の要求としてのコードを、注入され、2。危険な書き込みがコードが容易になり、変数の初期化を必要としない使用前にPHPと相まって。ときに、人々は、彼らがどこから来た知らない、とだけ仮定できる変数変数を使用します。register_globalsの最悪の場合の変化変数と混合し、クライアントから送信された内部変数などのコードを無効にします。

disable_functionsは、いくつかの機能は、同様には、proc_openシステム、EXEC、パススルー、もしくはshell_execなど、コマンドを直接プログラムシステムを用いて行うことができる制限します。あなたはこの機能を設定し、セキュリティサーバを確実にしたいのであればセーフモードでdisable_functionsに追加したり、それをオープンします

レコードfile_uploadsにfile_uploads、PHPファイルのアップロード機能は、コマンドを有効にするかどうかを決定し、デフォルト値:オン。

  1. プログラム:(以下の結果)
   <?
          $str = "LAMP";
          $str1 = "LAMPBrother";
          $strc = strcmp($str,$str1);
          switch ($strc){
                 case 1:
                        echo "str > str1";
                        break;
                 case –1:
                        echo "str < str1";
                        break;
                 case 0:
                        echo "str = str1";
                        break;
                 default:
                        echo "str <> str1";
          }
   ?>
   
A. str > str1
B. str < str1
c. str = str1
D. str <> str1

strmp(\(STR1、\) STR2)関数は、2つの文字列を比較し、2つの文字列を意味するリターンとして互いに位相差の数(異なる)文字と比較した場合に算出されます。結果は-7。

  1. オペレーションコードの出力()
<?php
   $d=mktime(9, 12, 31, 6, 10, 2015);
    echo "创建日期是 " . date("Y-m-d h:i:sa", $d);

A.作成日が2015年6月10日9時12分31秒午前です

B.作成日は2015年10月6日9時12分31秒午前です

C.作成日は2015年10月6日午前9時12分31秒午前です

D.作成日は2015年10月6日9時12分31秒午後です

mktime — 取得一个日期的 Unix 时间戳;  即:时,分,秒,月,日,年。
int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int$month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )
  1. オブジェクト指向PHPにおいて、最終的な改質剤にエラーの以下の説明は、()であります

A.使用は、クラスの最終確認を継承することはできません

クラス最終識別メンバーの方法を使用してB.は、サブクラスでオーバーライドすることはできません

C.は、最終的なプロパティのメンバーを識別するために使用することはできません

D.は、最終的な識別属性メンバを使用し、サブクラスで再定義することはできません

PHP 5 新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承。
Note: 属性不能被定义为 final,只有类和方法才能被定义为 final。
  1. 関数値GETDATEによって返されるデータの種類():( A)

浮動小数点、文字列Cの成形B. A. D.アレイ

调用getdate函数的返回值
Array ( [seconds] => 37 [minutes] => 34 [hours] => 15 [mday] => 19 [wday] => 3 [mon] => 8 [year] => 2015 [yday] => 230 [weekday] => Wednesday [month] => August [0] => 1439969677 )
  1. mysql_pconnect文は正しいですか()

D. C.と同じように機能し、データベースへの持続的接続を@mysql_connectにmysql_connect同じ機能を有するデータベースとA. B.マルチ接続

mysql_pconnect() 函数打开一个到 MySQL 服务器的持久连接。

mysql_pconnect() 和 mysql_connect() 非常相似,虽然只多了一个P, 但有两个主要区别:

当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。其次,当脚本执行完毕后到 SQL 服务器的连接不会被关闭,此连接将保持打开以备以 后使用( mysql_close() 不会关闭由 mysql_pconnect() 建立的连接)
  1. コードを見て、データベースには接続を識別するコマンドを遮断しますか?()
   <?php
       $link1 =mysql_connect("localhost","root","");
       $link2 = mysql_connect("localhost","root","");
       mysql_close();
   ?>

C. D.すべて閉じるエラーリンク2のA. $リンク1のB.の$

【就近原则】
mysql_close() 关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。
如果没有指定 link_identifier,则关闭上一个打开的连接。

bool mysql_close ([ resource $link_identifier = NULL ] )
  1. 出力に答えるために、次のコードを読んでください。
<?php
$data = ['a','b','c'];

foreach ($data as $k => &$v){
    //
    
}

var_dump($data);


foreach ($data as $k => $v){
    //
    
}

var_dump($data);

第一の出力[ 'A'、 'B'、 'C​​']

第二の出力[ 'A'、 'B'、 'B']

最終位置V $の配列Cの、すなわち位置へのアドレス基準点の使用により、初めて。

第二パスに値を割り当てる\(V、値が\に割り当てられる) V、点C、今回[2] = 2番目の要素を実行し、Bが割り当てられている\(V、割り当て\) [2]、この場合、アレイVアドレスをポイント[2] = B;第三の要素を実行し、[2]、B、割り当てB = \(V、割り当て\)これは、アドレスにVをアレイ[2] = B

  1. コードを読んで、それに答えます。
<?php

class A{
    
    public static function who(){
        
        echo __CLASS__;
        
    }
    
    
    public static function test(){
        
        static::who();
        
    }
    
     public static function test2(){
            
        self::who();
     }
}


class B extends A{
    
    public static function who(){
        echo __CLASS__;
    }
}

B::test();    //B  static指向调用方B,用于后期静态绑定,也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。
B::test2();   //A  self指向其定义所在类

PHP 5.3.0以降、PHPは、相続の範囲内という静的クラスを参照するために使用される、遅延静的バインディングと呼ばれる機能が追加されます。
静的メソッド呼び出し、その(典型的には::オペレータ左側部分)は、明示的に指定されたクラス名であり、非静的メソッド呼び出し、対象から採取されたクラスが属するとき------ php.net

遅延静的バインディングは、新しいクラスは、キーワードを実行するための最初の呼び出しを表して導入することでこの制限を回避したいと思います。簡単に言えば、このキーワードは、あなたはテスト()の代わりにAのクラスBの場合に引用した上記の例で呼び出すことができます
新しいキーワードを紹介するのではなく予約されている静的なキーワードを使用しない最終決定。------ php.netから撮影

静的な例別の用途:

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // 后期静态绑定从这里开始
    }
}

class B extends A {

}
?>

B::test();   // A 因为B类中没有who方法,所以不得不又调用A类中的who方法。
  1. コードを読んで、それに答えます。
<?php
class A {
    public static function  who(){
        
        echo __CLASS__;
        
    }
  
}


class B extends A {
    
    public static function who(){
        
        echo __CLASS__;
        
    }
    
     
}

class C extends B{
    public function who(){
        
        echo __CLASS__;
        
    }
    
     public static function test(){
            A::who();     //A
            parent::who();  //B
            self::who();    //C
            static::who();  //C
        }
}

C::test();

おすすめ

転載: www.cnblogs.com/followyou/p/11404013.html