【问题标题】:Putting html <a> into mysql table text field - url injection?将 html <a> 放入 mysql 表格文本字段 - url 注入?
【发布时间】:2014-01-10 07:29:24
【问题描述】:

这是一个尴尬的问题,但我正在帮助编辑一个站点,并且我想编辑 MySQL 表中的一些文本字段。我想做的编辑之一是添加一个超链接。

所以我继续输入&lt;a href = " etc. etc." &lt;/a&gt;。当我保存它并查看该网站时,该网站会在我的链接断开链接之前注入该网站的 URL。

例如我正在工作www.example.com 试图插入指向www.google.ca 的超链接

它将输出为www.example.com/www.google.ca 而不是www.google.ca

我对 PHP/MySQL 很陌生,所以我不确定这是否常见或是什么原因造成的。我尝试查看文件本身和 css 以查看是否有导致此问题的原因。我不确定这是否是正常的事情,或者是否有我不知道的解决方法。

如果有人对我应该查看的位置有任何想法(如果他们怀疑是注入它的网站),请告诉我。

【问题讨论】:

  • 你能告诉我们一些你试过的代码吗?
  • 这完全取决于运行您网站的自定义代码,没有任何远程标准可以做到这一点。尝试使用http://,也许注入主机的任何函数都足够聪明,不会对完全限定的 URL 这样做。
  • 我直接在 myphpmyadmin 中编辑。所以我会写在“BLAH BLAH BLAH google
  • meagar 是正确的:如果您的链接是相对于您的域输出的,则意味着浏览器认为它是。至少将 // 放在它前面以使其成为绝对或指定协议(http://)
  • 明白了!不知道!谢谢!

标签: php html mysql url


【解决方案1】:

正如我在上面的 cmets 中已经提到的:

<a href="www.google.ca">Google</a>

是一个相对url,将输出为http://yoursite.tld/www.google.ca

<a href="http://www.google.ca">Google</a>

将输出为正确的链接。

【讨论】:

  • 谢谢!不知道!
  • 协议本身(http 和':')对于页面内的链接是可选的。如果你只是做 //www.google.ca 它也可以工作,它会使用你的页面在 url-bar 中加载的任何协议。 :)
  • 如果这解决了您的问题,请不要忘记接受问题。谢谢。
猜你喜欢
  • 1970-01-01
  • 2012-12-06
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多