Title: プラグインを申請したのですが、サニタイズができてないとのことで申請が通りません。
Last modified: 2017年2月18日

---

# プラグインを申請したのですが、サニタイズができてないとのことで申請が通りません。

 *  [matometaru](https://ja.wordpress.org/support/users/metaru/)
 * (@metaru)
 * [9年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e7%94%b3%e8%ab%8b%e3%81%97%e3%81%9f%e3%81%ae%e3%81%a7%e3%81%99%e3%81%8c%e3%80%81%e3%82%b5%e3%83%8b%e3%82%bf%e3%82%a4%e3%82%ba%e3%81%8c%e3%81%a7/)
 * こちらのプラグインを申請したのですが、サニタイズができてないらしく、申請が通り
   ません。
    [https://github.com/matometaru/Comment-Star-Rating](https://github.com/matometaru/Comment-Star-Rating)
 * 返ってきた返答は以下の通りです。
    $this->options = $_POST[$this->text_domain];
   That sets your option name to be a NON sanitized value.
 * issetやfilter_inputを使ってみましたが、完全じゃないようです。
    会社のプログラマ
   にも聞いたのですが、わからないとのことでした。 （WordPressプラグイン開発のバイブル
   は一通り読みました。）
 * どうか宜しくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)

 *  モデレーター [Takayuki Miyoshi](https://ja.wordpress.org/support/users/takayukister/)
 * (@takayukister)
 * [9年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e7%94%b3%e8%ab%8b%e3%81%97%e3%81%9f%e3%81%ae%e3%81%a7%e3%81%99%e3%81%8c%e3%80%81%e3%82%b5%e3%83%8b%e3%82%bf%e3%82%a4%e3%82%ba%e3%81%8c%e3%81%a7/#post-214029)
 * レビュワーの指摘と参照しているコードがちょっと食い違っているような気がしないでも
   ないですが、おそらく本当に問題なのはここじゃないかと思います。
 * [https://github.com/matometaru/Comment-Star-Rating/blob/master/comment-star-rating.php#L292](https://github.com/matometaru/Comment-Star-Rating/blob/master/comment-star-rating.php#L292)
 * この `$this->text_domain` というプロパティですが、ざっと見ただけですけど特にアクセス
   権とか指定してないんじゃないですか? これだとこのクラスの外からでも変更可能にな
   って危ないですよ。見たところ固定値のようなので、定数とか使うように変更できない
   か検討してみてはいかがでしょうか。
 *  トピック投稿者 [matometaru](https://ja.wordpress.org/support/users/metaru/)
 * (@metaru)
 * [9年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e7%94%b3%e8%ab%8b%e3%81%97%e3%81%9f%e3%81%ae%e3%81%a7%e3%81%99%e3%81%8c%e3%80%81%e3%82%b5%e3%83%8b%e3%82%bf%e3%82%a4%e3%82%ba%e3%81%8c%e3%81%a7/#post-214030)
 * Takayuki Miyoshiさん
    ありがとうございます！
 * 考えてみると、確かにその通りですね。
    他の人が$this->text_domainにアクセスする
   ことを想定しておりませんでした。
 * 定数を宣言していたので、それを使用するように変更いたしました。
    こちらで提出し
   てみます。
 *  トピック投稿者 [matometaru](https://ja.wordpress.org/support/users/metaru/)
 * (@metaru)
 * [9年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e7%94%b3%e8%ab%8b%e3%81%97%e3%81%9f%e3%81%ae%e3%81%a7%e3%81%99%e3%81%8c%e3%80%81%e3%82%b5%e3%83%8b%e3%82%bf%e3%82%a4%e3%82%ba%e3%81%8c%e3%81%a7/#post-214032)
 * 返事がきました。
 * $options = $_POST[COMMENT_STAR_RATING_DOMAIN];
    // post_type sanitai foreach (
   $post_types as $post_type ) { if( isset($options[‘post_type’][$post_type]) ) {
   $options[‘post_type’][$post_type] = ‘1’; } }
 * That is still wrong.
    This is not sanitized: $options = $_POST[COMMENT_STAR_RATING_DOMAIN];
   The problem is ANYTHING goes into $options What is an example VALUE of $_POST[
   COMMENT_STAR_RATING_DOMAIN] going to be?
 * if ( !empty($_POST[COMMENT_STAR_RATING_DOMAIN]) ) {
    $options = $_POST[COMMENT_STAR_RATING_DOMAIN];}
 * >> What is an example VALUE of $_POST[COMMENT_STAR_RATING_DOMAIN] going to be?
   
   $_POSTの値は以下のような可変サイズの配列です。
 *     ```
       array (size=3)
         'post_type' => 
           array (size=2)
             'post' => string '1' (length=1)
             'page' => string '1' (length=1)
         'url' => string '1' (length=1)
         'email' => string '1' (length=1)
       ```
   
 *     ```
       array (size=2)
         'post_type' => 
           array (size=1)
             'post' => string '1' (length=1)
         'url' => string '1' (length=1)
       ```
   
 * 少し分かってきた気がします。
    現状は以下の$_POST[‘dummy’]も保存してしまうこと
   が問題ということでしょうか？ （もしそうなら、$optionsに入れる前にunsetやmerge
   を使って配列から不要なデータを除けばこの件はクリアできそうでしょうか？）
 *     ```
       array (size=4)
         'post_type' => 
           array (size=2)
             'post' => string '1' (length=1)
             'page' => string '1' (length=1)
         'url' => string '1' (length=1)
         'email' => string '1' (length=1)
         'dummy' => string '1' (length=1)
       ```
   
 * なにとぞよろしくお願いいたします。
    -  この返信は9年、 7ヶ月前に[matometaru](https://ja.wordpress.org/support/users/metaru/)
      が編集しました。
 *  [Nora](https://ja.wordpress.org/support/users/nora0123456789/)
 * (@nora0123456789)
 * [9年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e7%94%b3%e8%ab%8b%e3%81%97%e3%81%9f%e3%81%ae%e3%81%a7%e3%81%99%e3%81%8c%e3%80%81%e3%82%b5%e3%83%8b%e3%82%bf%e3%82%a4%e3%82%ba%e3%81%8c%e3%81%a7/#post-214035)
 * 保存すべき値をもっと厳選しろという意味じゃないでしょうか？
 * つまり、最初に「$options」に$_POST[COMMENT_STAR_RATING_DOMAIN]を丸ごと取得して
   しまっているため、
    その後の条件で「”1″」を定義してもしなくても、一度丸ごと取得
   した部分が精査されていないということだと思います。 ですので、先に取得するなら
   代替的な変数に先に取得して、 保存する変数「$options」にはもっと保存すべき値を
   精査すべきということじゃないかと。
 *     ```
       $temp = $_POST[COMMENT_STAR_RATING_DOMAIN];
       foreach( . . . ) {
         if( . . . ) {
           $options = sanitize_function( $_POST[...][...] ); // or whatever you want to set
         }
       }
       ```
   
 * また、指摘されていることとは異なりますが、カウントが0の場合の「$this->ratings_arrange」
   の値が定義されていませんので、「d3_init」で定義される変数「dataset」にシンタックス
   エラーが起きませんか？
 * 的外れでしたら申し訳ありません。
    -  この返信は9年、 7ヶ月前に[Nora](https://ja.wordpress.org/support/users/nora0123456789/)
      が編集しました。
    -  この返信は9年、 7ヶ月前に[Nora](https://ja.wordpress.org/support/users/nora0123456789/)
      が編集しました。
 *  トピック投稿者 [matometaru](https://ja.wordpress.org/support/users/metaru/)
 * (@metaru)
 * [9年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e7%94%b3%e8%ab%8b%e3%81%97%e3%81%9f%e3%81%ae%e3%81%a7%e3%81%99%e3%81%8c%e3%80%81%e3%82%b5%e3%83%8b%e3%82%bf%e3%82%a4%e3%82%ba%e3%81%8c%e3%81%a7/#post-214043)
 * ありがとうございます。
 * 以下のように修正することができました。
 *     ```
       foreach ( $_POST[COMMENT_STAR_RATING_DOMAIN] as $key => $value ) {
       	if( in_array( $key, $key_array) ){
       		$key = $key;
       	}else{
       		break;
       	}
       	$value = '1';
       	$options += array( $key => $value );
       }
       ```
   
 * >ratings_arrange」の値が定義されていませんので、「d3_init」で定義される変数「
   dataset」にシンタックスエラーが起きませんか？
 * こちらについても確認ありがとうございます！
    修正いたしました。

5件の返信を表示中 - 1 - 5件目 (全5件中)

 トピック「プラグインを申請したのですが、サニタイズができてないとのことで申請が通り
ません。」には新たに返信することはできません。

 * フォーラム: [自作品の告知](https://ja.wordpress.org/support/forum/showcase/)
 * 5件の返信
 * 3人の参加者
 * 最後の返信者: [matometaru](https://ja.wordpress.org/support/users/metaru/)
 * 最後の活動: [9年、 7ヶ月前](https://ja.wordpress.org/support/topic/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e7%94%b3%e8%ab%8b%e3%81%97%e3%81%9f%e3%81%ae%e3%81%a7%e3%81%99%e3%81%8c%e3%80%81%e3%82%b5%e3%83%8b%e3%82%bf%e3%82%a4%e3%82%ba%e3%81%8c%e3%81%a7/#post-214043)
 * 状態: サポート関連の質問ではありません

## トピック

### 人気のトピック

### 返信がないトピック

### サポート関連ではないトピック

### 解決済みのトピック

### 未解決のトピック

### すべてのトピック
