如果在登录屏幕上用户使用其用户名和密码提交表单,则密码将以纯文本形式发送(即使使用POST,如果我错了也请更正).
那么问题是,保护用户及其密码的正确方法是针对可能正在窃听通信数据的第三方?
我知道HTTPS是问题的解决方案,但有没有办法确保使用标准HTTP协议(POST请求)至少某种程度的安全性?(也许以某种方式使用javascript)
编辑 我可能遗漏了一些重要的事情.
我的目的是一个页面 - 这是PHP生成的登录页面,当然,它作为HTML文件在HTTP GET请求中发送给用户.服务器和客户端之间没有建立(@Jeremy Powel)连接,所以我无法创建这样的握手协议.我希望整个过程对用户透明 - 他想提交密码,而不是处理加密.
谢谢.
任何人都知道是否存在降价的mime类型?我想这是纯文本但有更具体的一个吗?
我一直认为将密码作为纯文本存储在数据库中(就像其他人在这里所说的那样)是一件非常糟糕的事情.
从历史上看,我们的大多数服务器端编码需求已经签约给一组程序员.它们以纯文本形式将密码存储在MySQL数据库中.
作为居民代码猴子(顺便说一句,第一个服务器端精明的猴子在这里工作,所以我继承了地球,可以这么说)我有这个胃的坑感觉这是我的屁股将在线上当这个纯文本废话被利用时.
我试图向我的老板解释一下非常糟糕的纯文本密码是什么,但我突然意识到:我不认为我真的知道为什么他们这么糟糕.除了将黑客的密码列表交给银盘外,还有更多内容吗?这听起来对我来说已经够糟了,但是在la-la land,我们的网站是"安全的"并且不受任何黑客攻击,这个论点似乎并没有削减它.我怎样才能说服(或吓唬)我的老板在他珍贵的网站上要求哈希?
是否可以在PostgreSQL中创建用户而不提供纯文本密码(理想情况下,我希望能够创建一个只提供用sha-256加密的密码的用户)?
我想做的是创建一个类似的用户:
CREATE USER "martin" WITH PASSWORD '$6$kH3l2bj8iT$KKrTAKDF4OoE7w.oy(...)BPwcTBN/V42hqE.';
Run Code Online (Sandbox Code Playgroud)
有办法做到这一点吗?
谢谢您的帮助.
发送plain text
(不是HTML
!)电子邮件时遇到问题,我的所有换行都被忽略了:
->setBody('Did you request a password reset for your account?\r\n\r\nIf yes, click here:\r\nhttp://www.website.com', 'text/plain');
Run Code Online (Sandbox Code Playgroud)
以上内容将在电子邮件中显示为:
您是否要求为您的帐户重置密码?\ r \n\r \n如果是,请单击此处:\nhttp://www.website.com
我已经检查过,标题显然设置正确:
Content-Type: text/plain; charset=utf-8
有人对这个有经验么?
我需要使用XSL从XML生成简单的纯文本输出.由于我没有在网上找到任何好的,简洁的例子,我决定在这里发布我的解决方案.任何指向更好的例子的链接当然会受到赞赏:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" >
<xsl:output method="text" omit-xml-declaration="yes" indent="no"/>
<xsl:template match="/">
<xsl:for-each select="script/command" xml:space="preserve">at -f <xsl:value-of select="username"/> <xsl:value-of select="startTime/@hours"/>:<xsl:value-of select="startTime/@minutes"/> <xsl:value-of select="startDate"/><xsl:text>
</xsl:text></xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
一些帮助我的重要事情:
此xslt的结果和所需输出为:
at -f alluser 23:58 17.4.2010
at -f ggroup67 7:58 28.4.2010
at -f ggroup70 15:58 18.4.2010
at -f alluser 23:58 18.4.2010
at -f ggroup61 7:58 22.9.2010
at -f ggroup60 23:58
21.9.2010 at -f alluser 3:58 22.9.2010
正如我所说,任何有关如何更优雅地做到这一点的建议将不胜感激.
后续行动2011-05-08:
这是我正在处理的xml的类型:
<script xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="script.xsd">
<command>
<username>alluser</username> …
Run Code Online (Sandbox Code Playgroud) 我最近和GnuPG一起工作很多,并且依赖于它加密文件等的能力.
但是,我目前正在开展一些涉及通信(即聊天,电子邮件等)的项目,我希望使用现有密钥来加密/解密文本本身,而不是像文件或磁盘这样的"容器".图片.
我想我可以加密容器,将流转换为base64(或适当的东西),然后标记文本,但我猜有一个更直接的解决方案.我确信有一些简单的我不知道,但是,好吧,我想念它.
有任何想法吗?
创建时,Swift_Message
您可以同时拥有纯文本和电子邮件的html版本.您将一个设置为正文,然后将另一个添加为部分.
如果我将HTML版本设置为正文和纯文本作为一部分,那么有什么区别?
$html_as_body = Swift_Message::newInstance()
->setSubject($subject)
->setBody($html, 'text/html')
->addPart($plain, 'text/plain');
$plain_as_body = Swift_Message::newInstance()
->setSubject($subject)
->setBody($plain, 'text/plain')
->addPart($html, 'text/html');
Run Code Online (Sandbox Code Playgroud)
差异化,我的意思是它在电子邮件阅读器中会有什么样的差异呢?
使用Google Apps脚本,我想将Google表格单元格的格式设置为纯文本.
我想这样做的原因是因为我想以美国日期格式(MM/DD/YYYY)显示日期.[我们可以假设OP的Google帐户中的区域设置设置为使用DD/MM/YYYY,这是一种更常见的日期格式.-Ed.]
我创建这样的字符串:
var thisDate = Utilities.formatDate (new Date (), SpreadsheetApp.getActiveSpreadsheet (). getSpreadsheetTimeZone (), "MM / d / yyyy");
Run Code Online (Sandbox Code Playgroud)
...以美国格式返回日期,06/ 13/2012,这就是我想要的.但是,当我将单元格的值设置为该字符串时:
sheet.getRange (1, n). setValue (thisDate);
Run Code Online (Sandbox Code Playgroud)
...日期根据我的区域设置格式化为单元格,13/06/ 2012,而不是美国格式.
以下操作也会失败,因为日期以标准格式返回,而不是美国格式:
sheet.getRange (1, n). getValue () == "06/13/2012"
Run Code Online (Sandbox Code Playgroud)
当单元格格式化为纯文本而不是日期时,一切正常.
所以,我的问题是,如何使用JavaScript格式化单元格.
plaintext ×10
email ×3
passwords ×3
encryption ×2
html ×2
php ×2
swiftmailer ×2
foreach ×1
format ×1
gnupg ×1
http ×1
line-breaks ×1
markdown ×1
mime ×1
mime-types ×1
postgresql ×1
security ×1
sha ×1
xml ×1
xslt ×1