如何在PHP文件执行期间调用javascript文件。

如何在PHP文件执行期间调用javascript文件。,php,javascript,jquery,security,Php,Javascript,Jquery,Security,我处理的是密码,所以安全性至关重要 这里是流程 我想用我正在获取的数据定期更新用户的屏幕 我会使用jquery函数并在成功后调用一个较小的php文件,但我不想在POST函数中传递用户的密码 我假设如果我定期从PHP函数中调用jquery函数,就可以消除使用post函数向PHP传递密码的问题 我传递密码的原因是我在使用IMAP,必须使用用户的密码才能检索电子邮件 电流(非安全) 1.)使用jquery AJAX和POST变量,使用javascript将用户名和密码传递到PHP函数中。我的假设是,这

我处理的是密码,所以安全性至关重要

这里是流程

我想用我正在获取的数据定期更新用户的屏幕

我会使用jquery函数并在成功后调用一个较小的php文件,但我不想在POST函数中传递用户的密码

我假设如果我定期从PHP函数中调用jquery函数,就可以消除使用post函数向PHP传递密码的问题

我传递密码的原因是我在使用IMAP,必须使用用户的密码才能检索电子邮件

电流(非安全) 1.)使用jquery AJAX和POST变量,使用javascript将用户名和密码传递到PHP函数中。我的假设是,这是不安全的

什么是安全的解决方案

我假设如果我定期从PHP函数中调用jquery函数

PHP在服务器上运行。它的输出(可以包括JavaScript)被发送到客户端。JavaScript在客户端上执行

从PHP调用JavaScript代码需要让服务器可以使用某种JavaScript引擎(例如node.js)。由于密码仍然在客户端上,这对您没有任何好处

我会使用jquery函数并在成功后调用一个较小的php文件,但我不想在POST函数中传递用户的密码

你必须在某个时候传递密码。您可以每次传递它,也可以传递一次,将其存储在会话中,然后将会话令牌传递给about(这仍然允许访问数据,但不太直接)

什么是安全的解决方案


加密(通过HTTPS)

听起来像是在客户机上存储密码,然后在将来的请求中重复使用,这通常是不允许的


用户登录后,发出一个唯一的cookie,其中包含一个加密安全的随机数作为会话ID(大多数web容器都内置了这种功能)。将cookie与定期发布一起传递。

为什么您会认为发布不安全?有两种方法可以将数据获取到服务器—get和POST。获得-不安全;邮政更安全。如果安全性很关键,那么您应该将POST与SSL一起使用。POST的安全性并不比GET高很多。它使数据远离标准访问日志文件,并且(如果数据作为正常表单提交的一部分发送)远离地址栏(在地址栏中容易受到“我站在你身后看你的屏幕”攻击)。@David-我的意思是更安全的是,我的Nan无法通过查看URL找到我的密码。;)也许我读错了,但听起来你只是想在没有数据输入的情况下保持IMAP连接。您有没有考虑过只登录一次,让服务器端代码发送noops以保持连接的活动性。然后你可以在loggout或者客户端连接超时时终止它,并在客户端上留下cookie。不,我没有。我不确定从哪里开始尝试这样做。我正在使用zend_mail连接到imap$mail=new zend_mail_Storage_imap(数组('host'=>'imap.aol.com','user'=>'username','password'=>'password','ssl'=>'ssl');我需要什么类型的代码来保持此打开状态?特别是因为我要通过jquery返回主页和php页面之间的第四个页面,还要记住,站点上可能同时有多个用户。好的,所以我使用SSL(https),然后在会话令牌中返回密码和第四个,比如$_session['pwd'],或者我缺少什么?那么,我可以将密码存储在$_会话['pwd']中,然后将其传回第四个会话吗?这符合一般安全标准吗?@Bob。您前后传递密码的具体原因是什么?您能不能先检查一次密码,然后设置一个会话标志,表明密码已被检查和验证?是的,因为为了在PHP中打开IMAP连接,我需要传递连接。这就是为什么我考虑从PHP调用jquery,这样我只需要在PHP表单中连接到IMAP一次,然后可以通过从PHP函数调用jquery来更新屏幕。因此,每次我调用一个新的PHP函数时,我都需要密码来打开一个新的IMAP连接——可能是我错了,而且我丢失了一条关键信息,任何想法都将受到欢迎。当然,使用SSL进行初始登录。如果数据敏感,则对所有内容(甚至静态内容)使用SSL。不,不存储它。这是我想用的一次性的东西。我希望有一个可靠的加密/解密,我可以使用,但我认为它们都不值得,所以我甚至不存储密码。密码是IMAP的用户电子邮件密码,所以一般来说,我非常犹豫是否不存储它们,所以我决定不存储它们。-我在登录时使用密码从服务器访问IMAP或POP3电子邮件-将其传递给函数,但在一次使用后不使用它。您能让服务器发出IMAP请求并将结果代理到浏览器吗?也许我不确定从何处开始我正在使用zend mail。诺尔酒店