同一ページで入力→確認→送信と行いたいのですが、Wordpressのセキュリティ対策上Javascriptとphpの間ではデータを送信することができません。この時点でA jaxを使えないことが分かっているのですが、そのほかの方法で実装する方法を調べても良い方法が見つかりませんでした。
何か良い方法はありますでしょうか?
※現在のコード
https://wandbox.org/permlink/JGyiJSeIbExI3IRA
No.2
- 回答日時:
>>STDINを乗っ取り独自APIをWordpressにかぶせる必要があるようで、使うのはかなり困難だと思われます。
PHPでなく、他の言語で作っても、STDINなんて普通は使えないと思うよ。
なんか勘違いしている気がする。
回答ありがとうございます、STDINという標準入力をWordPressが
破壊してしまう為、動作しないと教えて頂いたのと、WordpressのサポートフォーラムでA jaxなどのデータ通信は原則禁止されているという記述がありましたので、使えないものだとばかり思っておりました。
下記のサイトを見ると、admin-ajax.phpを使えば問題なく動作するようですね…
※参考サイト
https://agohack.com/ajax-on-wordpress/
No.3ベストアンサー
- 回答日時:
WordPressのセキュリティ対策上、JavascriptとPHPの間ではデータを送信することができません。
そのため、AJAXを使用できません。AJAXを使用できない場合、JavascriptとPHPの間のデータのやり取りを行うには、次の方法があります。
* フォームを使用します。
* XMLHttpRequestを使用します。
* FormDataを使用します。
フォームを使用する場合は、フォームのaction属性にPHPファイルのURLを指定します。また、method属性にPOSTを指定します。
XMLHttpRequestを使用する場合は、openメソッドでリクエストのメソッドをPOSTに設定し、sendメソッドでデータを送信します。
FormDataを使用する場合は、FormDataオブジェクトを作成してデータを追加し、submitメソッドでデータを送信します。
あなたのコードを見ると、フォームを使用しているようです。しかし、フォームのaction属性にPHPファイルのURLが指定されていません。そのため、フォームからデータが送信されません。
フォームのaction属性にPHPファイルのURLを指定することで、フォームからデータが送信されるようになります。
Q.フォームを使用する場合は、フォームのaction属性にPHPファイルのURLを指定します。また、method属性にPOSTを指定します。
フォームのaction属性にPHPファイルのURLを指定することで、フォームからデータが送信されるようになります。
A.アドバイスありがとうございます、以前別の方に教えて頂いた際に「フロントを通してはダメです。STDINという標準入力をWordPressが破壊してしまう為、動作しません。」 と教わったので正しい情報か分からないのですが、調べたところ admin-ajax.php をリクエスト先に設定すれば可能なようです。Wordpressのサポートフォーラムにもセキュリティ対策上データの通信は行えないとの回答を目にしていた為完全にそうだとばかり思いこんでおりました。
※参考サイト
https://agohack.com/ajax-on-wordpress/
フォームのaction属性にファイルのurlを指定して自分自身に送信して画面遷移する方法でしょうか、やはり A jax か XML は使う事になりそうですね…
詳しい設計が分からなかったので勉強になります。作成してみて分からない際は質問いたしますのでアドバイス頂けると助かります、宜しくお願い致します。
No.4
- 回答日時:
こんばんは
>Wordpressのセキュリティ対策上Javascriptとphpの
>間ではデータを送信することができません
特殊な制約下で、組み立てなければならないってことでしょうか?
ご提示のファイルの構成を見ただけで、内容は見ていませんけれど・・
PHP側でそれぞれの処理を行う仕組みのように見えますけれど、Ajaxを何の目的で使う必要があるのでしょうか?
普通にFormから送信して、PHPでレスポンスを返す仕組みなら何の問題もないのでは?
ページ遷移して見えるのが嫌なら、iframeを使うなどの方法もあると思います。
Q.特殊な制約下で、組み立てなければならないってことでしょうか?
PHP側でそれぞれの処理を行う仕組みのように見えますけれど、Ajaxを何の目的で使う必要があるのでしょうか?
普通にFormから送信して、PHPでレスポンスを返す仕組みなら何の問題もないのでは?
ページ遷移して見えるのが嫌なら、iframeを使うなどの方法もあると思います。
A.回答ありがとうございます。制約などは特にないのですが、Ajaxはヤフー知恵袋の回答機能を見て一部のみ切り替わっておりましたので、同じように作成するためにはAjaxが必須ではないかと思っておりました。
入力→確認→送信をそれぞれ還移させるものですが、ヤフー知恵袋のような質問機能は作成済みです。そちらが※現在のコードになります。
iframeというのは埋め込み型の機能だと思うのですが、入力→確認→送信を還移せずに実行するコードは作成できるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- WordPress(ワードプレス) Wordpressをハッキングされない方法 4 2022/06/11 04:15
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- Gmail メーラーのThunderbirdの送信機能に関する質問です 3 2022/07/10 10:58
- PHP Q&Aサイトを作成していてURLの生成方法について迷っているのでアドバイスお願い致します 1 2023/08/10 16:42
- ビジネスマナー・ビジネス文書 社内便のやりとりを確実に行いたい 2 2023/05/28 11:37
- その他(インターネット接続・インフラ) 語学レッスン予約ページを作ろうとしています。 1 2022/09/26 17:43
- WordPress(ワードプレス) Wordpressの投稿記事に関する公開ワークフローについて 1 2023/02/17 11:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Node.jsのWebプログラム(javasc...
-
Perl LINE(チャット) 仕組み
-
ASPでエクセルの起動
-
gas 全角数字を半角数字に変換
-
javascript:void(0)とは何でし...
-
再帰呼び出しになってしまうの...
-
JSON形式でのページング処理に...
-
Vba SelStart、SelLen教えてく...
-
VB.NET2003 テキストボックスに...
-
ひらがな専用入力エリアのチェック
-
JavaScriptでテキス...
-
C#でボタン名を変更しても動く
-
クリックすると下に説明文が出...
-
フォルダを自動で開く
-
slideToggleの動きがおかしい
-
ハイフンだけ置換したい。
-
csvファイルを読み込み、該当項...
-
JSPの処理の途中で、JavaScript...
-
VBAによる第3、4水準文字の判定...
-
JavaScriptの正規表現の全角ス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScriptの負荷について
-
仮アップ?
-
PHPとjavascriptで共通なエンコ...
-
独自の検索エンジンを作るには!?
-
Session切れ前にWarningメッセージ
-
JavaScriptを使用して、クライ...
-
リアルタイム表示ホームページ...
-
ASPによるEXCELファイルの操作
-
PHPができればJavaScriptは...
-
ASPでエクセルの起動
-
Node.jsのWebプログラム(javasc...
-
PHPとJavaとC#の違い
-
外部リンクのクリック数を表示...
-
JavaScriptの便利なところ
-
CGIとJavascriptの違いについて
-
プルダウンリストを作りMySQLか...
-
ASPでグラフ表示方法
-
XMLHttpRequestのレスポンスが...
-
IEでalertのみを無効にする方法...
-
CSJSとSSJSの違い
おすすめ情報