【问题标题】:Trying to find the best method试图找到最好的方法
【发布时间】:2023-03-28 08:01:01
【问题描述】:

我将使用 MSSQL 设置一个注册页面。

系统必须像这样工作:

  1. 用户在 something.com/register.php 中附加数据

  2. 数据被发送到我的数据库所在的 host-ip-address/regsecond.php。 (出于安全考虑,这个php页面不会直接访问数据库。

  3. 主机的php页面会启动另一个php页面或EXE文件直接安全直接到达数据库。

由于我的 php 水平不高,我想了解是否可以启动 php 脚本,这些脚本可以在不进入用户浏览器的情况下工作并完成他们的工作。这里我解释一下我说的话:

“我在 x.php 中附加了一些数据,它启动了另一个 PHP 脚本,该脚本将使用从 x.php 附加的 DATA 来完成这项工作,但 -another PHP script- 不会进入用户浏览器”

我希望清楚,作为总结,我应该使用 exe [会更难] 还是可以在不进入浏览器的情况下启动 PHP 脚本。当然还有。

【问题讨论】:

  • 通过 HTTP 请求调用另一个 PHP 脚本,即使它是内部触发的,也意味着该脚本也可以从服务器外部请求,因此您基本上没有在安全方面完成任何事情,除了使您的系统更加复杂。而且复杂的系统比简单的系统更容易破解。
  • 其实不然,localhost的php脚本只能被localhost调用。

标签: php sql-server odbc append


【解决方案1】:

您不能通过 PHP 将数据发布到其他网站。

如果你想要你的网站,那么你可以配置你的 PHP 脚本来为你的 MySQL 连接到不同的服务器,我不会说它更安全。例如 而不是:

mysql_connect(localhost,username,password);

试试这个

mysql_connect(http://your-ip:portnumber,username,password);

【讨论】:

  • Mssql 部分已经完成,但出于安全原因应该由 localhost 调用,无论如何感谢您的帮助!
  • 没问题,希望你能找到你的解决方案:)
【解决方案2】:

我不确定我是否理解正确,但您可以

§1 使用调用私有脚本的“公共”php 脚本:

<?php
//public register script
//now call private
//store data to txt-file or similar..
require('/path/outside/www-data/script_that_processes_further.php');

§2 在另一台服务器上请求脚本,

<?php
file_get_contents('http://asdf.aspx?firstname=' . $theFirstName); //simplistic
//other options would be curl, xml/soap or whatever.

§1 可以与 §2 一起使用。

问候, /t

【讨论】:

  • 谢谢,但这不是我想要做的事情。如果您阅读下一个答案,您将得到我的问题。
【解决方案3】:

您可以使用 curl 扩展来执行此操作。你可以在这里找到它的信息:

http://php.net/manual/en/book.curl.php

您可以执行以下操作:

$postdata = array(
    'item1' => 'data'
);

$ch = curl_init("http://host-ip-address/regsecond.php");
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);

curl_exec($ch);
curl_close($ch);

这会直接从您的第一个脚本调用您的第二个脚本,而不会向用户公开任何内容。在另一端,数据将作为常规发布数据 ($_POST) 进入。

【讨论】:

  • 谢谢,这正是我正在寻找的东西。
猜你喜欢
  • 2016-12-17
  • 2012-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-12
  • 2012-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多