jsに直接URLを指定してもいいかどうか
法人サーチでは、jsからphpへ渡して、phpでAPIをコールしています。
その際に気になっているのは、2つあります。
phpはサーバサイドなのでソースコードは見えないのですが、当然直接叩けば処理が動いてしまうというのがあります。この点は何か対策があるか、したところでどうかって感じもありますが。
もう1つは、jsに直接URLがあるので、jsはクライアントサイドで見えるので、これもどうかというところです。
phpを直接叩けば見える件
1つ目については、GETやPOSTなどで動きは違うとは思いますが、この検索ではGETであり、基本パラメタが見えるのが正しいです。ブックマーク等も出来るというところですね。
よって、
http://サイトドメイン/wp-content/themes/子テーマフォルダ/houjin-search.php?name=%E8%A5%BF%E7%93%9C&mode=2&target=1
これは「西瓜」で部分一致検索として、法人名検索した場合です。結果は1件でした。「岩坪西瓜組合」という法人がヒットしています。
それはいいとして、上のようにURLが見えること自体は良いということですね。
ちなみに「?」パラメタ以降がなければ、phpのWarningがでている形です。よって、それは見栄えも悪いので、最初にチェックしてパラメタがないなら、メッセージを出して処理終了とする動きとしました。
https://sys-guard.com/post-14594/が参考になりました。
jsでURLが見える件
これについては、そもそもjsではajaxとして、phpにパラメタを渡す時に、変数指定でURLを渡しています。その時のURL指定もすべて見えるのでこれもどうかというところです。
とはいえ、上の例でいえばPHPの実行ファイルパスが見えているので、そこまで問題ではないと考えました。最も、実行パスが見えることでどこまで弱くなるかというところです。そもそも分からなければ不正なこともできないので、どうなんだというところです。
実行ファイルパスが見えるのでそこからという人は相当少ないのですが出来てしまうという点ですね。
一旦この理解で運用しつつですね。とはいえ、GETコールなので検索結果を出すというところで、特段書き込み等ができるものではないというところでしょうか。