【问题标题】:How can I populate a textarea from a URL?如何从 URL 填充文本区域?
【发布时间】:2014-01-16 17:04:27
【问题描述】:

我正在尝试用 PHP 编写一个脚本,该脚本可以向论坛上的某个用户发送消息。例如,消息表单可以这样格式化:

<input>Username Goes Here</input

<textarea>Message Goes Here</textarea>

幸运的是,我能够根据 URL 的格式填充输入字段。但是,我对 textarea 部分就没那么幸运了。

如何填充 textarea 字段?

链接格式如下:

https://live.xbox.com/en-US/Messages?gamertag=gamertag

“gamertag”是收件人

文本区域的格式为:

<textarea class="compose empty" empty="true">Say something here...</textarea>

感谢您的帮助!

【问题讨论】:

  • 你想在 textarea 中设置什么值?
  • 输出到底是什么?只是文本还是格式化的网站?对于最后一种情况,您可以使用 iframe。
  • 我的输出将是文本,例如:“Your Verification Code is [Insert Code]”
  • 如果你通过 url 传递值,那么你可以通过使用 GET/REQUEST 方法获取值来使用它。

标签: javascript php html


【解决方案1】:

像这样:

<textarea class="compose empty" empty="true"><?php echo htmlspecialchars($_REQUEST['gamertag']);?></textarea>

考虑到url是

https://live.xbox.com/en-US/Messages?gamertag=gamertag

你可以像这样获取gamertag的值:

$gamertag = htmlspecialchars($_GET['gamertag']);
$gamertag = htmlspecialchars($_REQUEST['gamertag']);

要包含静态内容:

<textarea class="compose empty" empty="true">Your Verification Code is : <?php echo htmlspecialchars($_REQUEST['gamertag']);?></textarea>

【讨论】:

  • 请在其中添加htmlspecialchars - 否则您正在实施一个绝妙的 XSS 漏洞。
  • 我不认为你理解我想要做什么。我正在尝试使用 Xbox Live 作为我网站的验证。所以我的网站会向 Xbox Live 上的用户发送一个代码
  • @user3116492 :所以基本上你是想绕过系统?
【解决方案2】:

您的网站不能让用户的浏览器预填充第三方网站上的任意字段。

据推测,Microsoft 提供了一种机制来预填充用户名字段以用于“联系我”链接,而不是消息,因为积极的用例要少得多,而且它鼓励垃圾邮件。

【讨论】:

  • 我认为可以使用 curl 来发布数据
  • 没有。您可以使用 cURL 来发布数据而不是使用表单 来发布数据。 (这意味着请求将来自您的服务器而不是浏览器,因此 cookie 会有所不同,因此登录用户可能会有所不同)。您不能使用 cURL 来填充表单。
  • 我设法使用 cUrl 创建了一个函数。我遇到的问题是 textarea 没有“名称”或“ID”。我应该如何发布数据?
  • 我有 $postData = "&Name="。 $消息;但我不确定用什么替换“名称”,因为文本区域没有名称/ID
  • 对网站的 JavaScript 进行逆向工程(或嗅探您使用网站提交表单时发出的 HTTP 请求)
猜你喜欢
  • 2023-03-21
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 1970-01-01
  • 2014-01-11
  • 2012-10-20
相关资源
最近更新 更多