人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ioncubeというphpファイルを難読化するソフトを買いました。Webサイトで使うphpファイルなどもエンコ?ドしているのですが、入力フォ?ムなどでhtml部分が出てきた場合、ブラウザからソ?ス表示するとhtml部分は表示されてしまいます。ioncubeの設定でphpファイルの中から出てくるhtml部分もブラウザから読み取れないようにできないものでしょうか。ご存知の方がおられましたら教えてください。ちなみに海外版を買っておりまして、日本の代理店に質問できないのです。

●質問者: ykhpno1
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

質問者から

またはioncubeについて詳し?く解説してあるサイトの紹介をしていただくのも有難く、ポイントを差し上げます(日本語での解説)。
公式の日本語マニュアルはすでに持っているのですが、大変不親切でわかりづらいのです。


1 ● braahmaNa
●0ポイント

プルダウンメニューの項目が違うだけで、あとは全部同じPHPプログラムが有るって事ですか?
んでそのプルダウンメニューの違いに応じて「ソフトのバリエーション」としてる、という事でしょうか?
PHPの暗号化が出来てて、フォームのコピペに依る不正データ使用(ver1でver2)のデータを防ぐだけで良いのでしょうか?

上記前提が全てyesなのであれば、
PHPでリクエストのバリデーションすれば良いのでは無いでしょうか。
ver1にはver1のデータしか受け付けない、
ver2にはver2のデータしか受け付けない、
という様なコードをそれぞれのバリエーション毎に埋め込んでやれば良いと思います。


ykhpno1さんのコメント
回答いただきありがとうございます。 前提は全てYESです。 受け付けるデ?タを絞るコードをそれぞれのバリエーション毎に埋め込んでやれば良い、ということですが、参考URLなどを教えていただけませんでしょうか。

2 ● braahmaNa
●300ポイント ベストアンサー

フォームから送信されたデータを$_POSTや$_GETで受け取ってデータ作成等の処理を行いますよね?
その受け取った時点でデータが正常かどうか検査するのがバリデーションです。
ver1のプログラムにはnameがaというプルダウンが有り、
そのaからはa1,a2...a5の値しか来る筈が無い場合は下記の様なコードになります。

$is_valid = FALSE;
$valid_array = array( "a1","a2","a3","a4","a5" );
foreach ( $valid_array as $val ) {
if ( $_POST[ "a" ] === $val ) {
$is_valid = TRUE;
break;
}
}
if ( $is_valid ) {
// 正しい値の場合の処理
}
else {
// 不正な値の場合の処理
}

これをykhpno1さん作成のプログラム毎のプルダウンのパターンに当てはめて書けば良いと思います。

パターンというのは、

プログラムver1は、aというプルダウンからa1~a5、bというプルダウンからはb1~b5の値以外は受け取らない
プログラムver2は、bというプルダウンからb1~b5、cというプルダウンからはc1~c5の値以外は受け取らない

というルールになっていると仮定して、
ver1に、ver2では受け取れるc1~c5の値が来た場合は、不正な値として弾くという事です。
上記例で言うと、プルダウンaかbにc1~c5の値が入っている時ですね。

バリデーションについては下記が参考になると思います。
http://qiita.com/mpyw/items/346f1789ad0e1b969ebc


ykhpno1さんのコメント
ありがとうございます、この考え方で問題は解決できると思います! 助かりました、ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ