質問編集履歴
1
誤字があったので直しました
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -8,7 +8,7 @@ 
     | 
|
| 
       8 
8 
     | 
    
         
             
            1. JSで画像をbase64にし、
         
     | 
| 
       9 
9 
     | 
    
         
             
            2. AJAXで送り、
         
     | 
| 
       10 
10 
     | 
    
         
             
            3. 送られたbase64のテキストについて以下検証し
         
     | 
| 
       11 
     | 
    
         
            -
            ➀タグが 
     | 
| 
      
 11 
     | 
    
         
            +
            ➀タグがあるか?
         
     | 
| 
       12 
12 
     | 
    
         
             
            ➁画像かどうか?
         
     | 
| 
       13 
13 
     | 
    
         
             
            4. base64のテキストのままデータベースに保存する
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
         @@ -29,7 +29,7 @@ 
     | 
|
| 
       29 
29 
     | 
    
         
             
            $base64 = $_POST['base64'] ?? ''; // "data:image/jpeg;base64,/9j/ABCDEFG" など
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
            // ➀と➁が問題あれば終了
         
     | 
| 
       32 
     | 
    
         
            -
            if( isHtml($base64) || !isImg($base64) ) {
         
     | 
| 
      
 32 
     | 
    
         
            +
            if( isHtml($base64) || ! isImg($base64) ) {
         
     | 
| 
       33 
33 
     | 
    
         
             
              echo '問題が発生しました';
         
     | 
| 
       34 
34 
     | 
    
         
             
            }else{
         
     | 
| 
       35 
35 
     | 
    
         
             
              $sql = "INSERT INTO images (ID, base64, created) VALUES (:base64, now())";
         
     | 
| 
         @@ -39,10 +39,10 @@ 
     | 
|
| 
       39 
39 
     | 
    
         
             
              echo '登録完了しました';
         
     | 
| 
       40 
40 
     | 
    
         
             
            }
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
     | 
    
         
            -
            // ➀タグが 
     | 
| 
      
 42 
     | 
    
         
            +
            // ➀タグがあるか?
         
     | 
| 
       43 
43 
     | 
    
         
             
            function isHtml( $base64 ) {
         
     | 
| 
       44 
44 
     | 
    
         
             
              $result = false;
         
     | 
| 
       45 
     | 
    
         
            -
              if ( preg_match("/<(\"[^\"]*\"|'[^']*'|[^'\">])*>/", $ 
     | 
| 
      
 45 
     | 
    
         
            +
              if ( preg_match("/<(\"[^\"]*\"|'[^']*'|[^'\">])*>/", $base64) ) $result = true;
         
     | 
| 
       46 
46 
     | 
    
         
             
              return $result;
         
     | 
| 
       47 
47 
     | 
    
         
             
            }
         
     | 
| 
       48 
48 
     | 
    
         |